Cannot Initialize Data Binding
-
martes, 28 de febrero de 2012 17:31
Generé un .exe de mi aplicacion, y puse todas las dll y ocx en la carpeta donde tengo mi .exe pero a la hora de realizar una consulta a y mostrarla en un Datagrid me manda error:
Cannot Initialize Data Binding
NOTA: Trabajo con Adodb, datagrid y Ya.. Mi bd es de access 2003
Jhonatan Plata
Todas las respuestas
-
martes, 28 de febrero de 2012 17:40
¿Este error sale cuando depura o únicamente cuando corre el proyecto fuera del entorno de desarrollo? También sería bueno que mostrara el código pertinente o explique cómo hace el data binding. Yo reviso este foro porque alguna vez fui bueno desarrollando en VB5 y 6, pero hace muchos años que ni lo toco.
Jose R. MCP
-
martes, 28 de febrero de 2012 18:12
Este es el Codigo que utilizo:
Dim cn1 As ADODB.Connection 'variable local del para crear la coneccion ADODB Dim rs As ADODB.Recordset 'Variable local del para poder manipular las tablas de BD Dim cmd As ADODB.Command 'Variable local del para ejecutar sentencias SQL '********conexión bd Access***************** Set cn1 = New ADODB.Connection 'crea un objeto ADODB.connection en la variable With cn1 .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path _ & "\VOTACIONES.mdb;Persist Security Info=False" 'se asigna la cadena que contiene el nombre de la BD .CommandTimeout = 30 'tiempo para ejecutar la sentencia anterior .ConnectionTimeout = 30 'tiempo para crear la conexion .Open 'abrir la BD End With '******************************************** 'cargar grilla Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient SQL = "SELECT *from consejo" rs.Open SQL, cn1, adOpenStatic, adLockOptimistic, adCmdText 'asigna datos al datagrid Set Me.DataGrid1.DataSource = rs 'resalta la fila seleccionada DataGrid1.MarqueeStyle = dbgHighlightRowRaiseCell
En el computador donde ejecuto el .exe no tiene Visual Basic Instalado.. El error sale cuando ejecuto la Consulta
Jhonatan Plata
-
martes, 28 de febrero de 2012 18:20Estoy completamente seguro que el problema es de Dll y Ocx
Jhonatan Plata
-
martes, 28 de febrero de 2012 18:58
Bueno, creo que ya hice las investigaciones del caso. Según parece, El Microsoft DataGrid Control depende de una bibioteca ActiveX que provee los servicios de formato de datos llamada msstdfmt.dll. La biblioteca (type library) en Windows 7 existe en C:\Windows\System32 y tiene el nombre "Microsoft Data Formatting Object Library 6.0 (SP6)" (que puede verse en el registro).
Según http://www.forosdelweb.com/f69/cannot-initialize-databindings-visual-basic-206333/, el error se soluciona copiando este archivo a la PC destino y registrando el componente con regsvr32.
Si el archivo ya existe en la PC de destino, simplemente registre. No me parece muy bueno andar sobreescribiendo archivos de sistema operativo innecesariamente. Además, en Windows Vista y superior esto no suele ser posible.
Jose R. MCP
-
martes, 28 de febrero de 2012 19:36Aun no encuentro una solucion :(
Jhonatan Plata
-
martes, 28 de febrero de 2012 19:42¿Eso quiere decir que lo que le puse de msstdfmt.dll no le funcionó?
Jose R. MCP
-
martes, 28 de febrero de 2012 19:57Nada ya me funciono, pero lo que hice fue descargarme un Vb6 portable, abrir el proyecto en el equipo que lo iva a dejar, luego generar otro .exe, y dejar ahi mismo los archivos de vb, frm, y todos.. asi fue que me quizo funcionar el .EXE
Jhonatan Plata

