Pregunta:
¿ayuda visual basic access?
nelsinininini
2009-06-24 12:44:20 UTC
amigos tengo una pregunta que la verdad no he logrado resolver a pesar de horas de busqueda la cosa es que estoy elaborando una base de datos para el cole y necesito traer datos de una tabla a un formulario (OJO POR CODIGO "VB") yo la realize desde una consulta y me rula perfecto pero ahora me toca por codigo y la verdad ni idea a mi me pasaron una copia y era algo asi
Dim Rec As DAO.Recordset
Dim Dbs As DAO.Database
Set Dbs = CurrentDb
Set Rec = Dbs.OpenRecordset("select * from estudiante where ([cedula_e] ='" + (Me![cedula_e]) + "');")

pero ni la entiendo y ni me funciona
la tabla se llama "alumnos"
el formulario se llama "asistencia"
y los datos que necesito traer son "documento_a , nombre_a, apellidos_a"
a los cuadros de texto "doc, nom, apell"
Cuatro respuestas:
anonymous
2009-06-24 13:14:46 UTC
Mira yo te puedo explicar y verificar si es VB6 solo debes agregarme:

federiconavarrete_mixco@yahoo.com
Macross
2009-06-26 12:03:59 UTC
La fotma mas facil es usando el control active x ADODB sigue estos pasos:



ve al menu project (proyecto)

da clic en project references (referencias del proyecto)

busca y habilita la referencia Microsoft Active X Data Objects 2.8 library.

una vez echo esto en tu programa deberas añadir unos objetos que te permitiran acceder a la base de datos



Public coneccionAs New ADODB.Connection

esta objeto te permite conectarte a una base de datos sin importar cual sea (sql server, access etc.)



Public registros As New ADODB.Recordset

con esta linea puedes acceder al recordset y ejecutar las sentencias (busquedas, insercciones, modificacines, etc.)



ahora con estas lineas puedes conectarte a una base de datos de access

cntBaseLocal.Provider = "Microsoft.ACE.OLEDB.12.0"

cntBaseLocal.Properties("Data Source") = "c:\prueba.accdb"

cntBaseLocal.Open



en este caso use una base de datos access 2007



ahora para que puedashacer el select es:

registros .open ("select * from estudiante where ([cedula_e] ='" + (Me![cedula_e]) + "');",coneccion,1,3

ahora ya puedes accedera al contenido de los campos con esta instruccion



registro.fields("nombre del campo").value

y poder meterlos en los cuadros de texto



Espero que te sirva, si tienes una duda escribeme.
Albert
2009-06-25 17:42:14 UTC
Hay muchas formas de hacerlo, mediante, ADO, RDO, DAO, etc, etc, lo cierto es que ninguna de ellas ya se usa, pero te lo explicare con ADO.



'Crea las variables para el acceso a ala DB y los RecordSet

Dim cnn as ADODB.Connection

Dim rs as ADODB.REcordSet

Dim sBase as String

'Abrimos la DB

Sub abre_db()

sBase = App.Path & "\ruta_del archivo\tu_db.mdb"



' Crear los objetos

Set cnn= New ADODB.Connection

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & sBase

End Sub

'Ahora, Vamos a crear una funcion para llamar la apertura de la DB y la carga de los datos

Public Sub carga_datos ()

Dim sSQL = String

call abre_db

sSQL = "SELECT * FROM ALUMNOS"

Set rs = New ADODB.REcordset

rs.Open ("sSQL", cnn, 1, 2)



doc.text = rs.fields("documento_a").Value

nom.text = rs.fields("nombre_a").Value

apell.text = rs.fields("apellidos_a").Value

End Sub



Por ultimo en algun boton o en la parte que quieras agrega este codigo para que se mande llamar la funcion:



call carga_datos



Ojo, tenes que ir a menu Proyecto - Referencia y agregar la referencia de ADO. de lo contrario no funcionara jamas.
MVZ
2009-06-24 12:59:00 UTC
hola creo que ocupas un data report

sirve para traer un un archivo ya se a de acces

es datareport1.

creo

bueno que te funcione

by


Este contenido se publicó originalmente en Y! Answers, un sitio web de preguntas y respuestas que se cerró en 2021.
Loading...