Pregunta 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
     
      Tiene código

    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:20
     
     
    Estoy 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:36
     
     
    Aun 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:57
     
     
    Nada 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