Error DataSource Visual Basic

Estoy aprendiendo a usar bases de datos con Visual Basic y Access 97 iba todo bien hasta que intente cambiar la tabla y base de datos en tiempo de ejecución, para esto use el siguiente código:
Data1.DatabaseName = "c:\Sice\Bases de Datos\PL Lisa.mdb"
Data1.RecordSource = Data1
Set Text1.DataSource = Data1 <<==== Aqui marca el Error
Text1.DataField = "Ancho"
La base de datos se llama "PL lisa"
La Tabla Data1
Y el campo a utilizar en el text "Ancho"
El problema es que me arroja " error 13 en tiempo de ejecución, no coinciden lo tipos" en la linea que dice "Set Text1.DataSource=Data1".

2 respuestas

Respuesta
Primero tienes que seleccionar también cual es la tabla de la base de datos que vas a utilizar, recuerda que una base de datos tiene 1 o muchas tablas.
Para asociar el campo al control textbox seria algo como:
text1.text = data1.recordset.fields("nombrecampo")
OK tienes razón con lo de la tabla, así que quedaría así:
Data1.DatabaseName = "c:\Sice\Bases de Datos\PL Lisa.mdb"
Data1.RecordSource = "Tabla1"
Eso esta bien, pero ahora la probar lo que necesito que es mostrar la info en el text, mediante el código que me escribiste es decir
Text1.Text=Data1.Recordset.Fields("Ancho)
Me arroja el error 91 en tiempo de ejecución, "Variable de Tipo Object o la variable del bloque With no esta establecida.
El asunto es que necesariamente debo hacerlo en tiempo de ejecución para que mediante un combobox se puedan ir cambaindo las bases de datos.
Si el código que escribiste es elq ue estas utilizando, falto una comilla entre Ancho y el paréntesis.
Y lo otro es asegurarte que ese es el nombre del campo que esta trayendo el recordset.
Mm... claro falta una comilla pero que si esta en el código en visual y efectivamente el nombre del campo es correcto.
Con esos antecedentes sigo teniendo el mismo error.
El problema es que si estas utilizando on control data no e sfacil hacer en tiempo de ejecución lo que quieres, asígnale vbnull al data.datasource (no se si ese control tiene esa propiedad) ya que lo que estas utilizando ya no se usa.
Se utiliza la conexión por ADO. Revísate el www.elguille.info, allí hay mucha información de VB6 y un curso en español.
Respuesta
-1
Bueno el problema que tienes que los tipo de objetos que quieres usar no son compatibles.
Sugiero que veas los códigos de ejemplo de trabajo con access en la siguiente liga:
OK, pero la idea es buscar alguna forma de hacerlo por este medio.
Como dato te cuento que no tengo ningún problema al realizar lo mismo, es decir mostrar el contenido de una base de datos en un msflexgrid y alguna de los datos en un textbox, en tiempo de diseño y lo hago de la siguiente forma:
'
Para conectar la Base de datos con los text y el Flex Primero debemos establecer
la propiedad DataBaseName del control data, donde buscamos el directorio y nombre de la BD
Luego en las propiedades del control data, en RecordSource seleccionamos la tabla
que vamos a usar de la BD.
'TEXT BOX (PARA RECORRE LA BD)
Para Usar los text cuando recorremos la base de datos solo debemos poner en sus
propiedades DataSource el nombre de la BD y en DataField el nombre de la Tabla
MSFLEXGRID ( PARA MOSTAR LA BD COMPLETA)
Lo único que hay que hacer para que el FlexGrid muestre la Base de Datos
es seleccionar el nombre de la Base de datos (Data1) en la propiedad
DataSource.
El problema es que necesito ir cambiando la base de datos a usar, pero en TIEMPO DE DISEÑO.
A y lo otro, revise la página, entiendo algo de ingles pero no tanto como para entender todo.
Atentamente Carlos
Pues tendrás que entender ya que los códigos para que puedas hacer una búsqueda de bases de datos y mostrarlas en un grid mediante el uso de un filesystemobject ahí se localizan, y poder abrir cualquier base de datos y modificarla, tablas, indices y demás, ahí también esta...
Haber... pero concretamente respecto a lo que te consulte a ti... no a la página que me diste.. ¿tienes solución SI o NO?.
Si te realice la pregunta a ti es porque es una duda puntual y concreta de lo contrario me habría sido más fácil y rapido buecar en google, incluso te expuse la situación en lqa que si funciona pero veo que no la tomaste en cuenta.
Atentamente Carlos
No tiene solución los objetos que creas no son compatibles con lo que deseas hacer. Para poder trabajar lo que deseas tendrás que usar sqldmo... Que te funcione una parte es bueno, pero lo que deseas hacer no te funcionará. Cuando refiero a alguna página en particular es para que tomen los conceptos y los fuentes que se localizan ahí y puedan trabajar de mejor forma... Y mil disculpas, pero todo lo que me dicen lo tomo en cuenta. El problema es el nivel de las preguntas que no están reflejando el real conocimiento...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas