Visual Basic - DAO y textbox

Life is soft - evento anual de software empresarial
 
Vista:

DAO y textbox

Publicado por Jack (54 intervenciones) el 25/01/2003 17:26:09
Soy nuevo en el uso de DAO. Tengo una base de datos llamada "Gesdata", y varias tablas. Una de las tablas es "Clientes", y consigo abrirla introduciendo el siguiente código en el evento Load del formulario:

Private Sub Form_Load()
Dim dbsdao36 As DAO.Database
Dim rs As DAO.Recordset
Set dbsdao36 = OpenDatabase("Gesdata.mdb", False, False)
Set rs = dbsdao36.OpenRecordset("Clientes")
Set Data1.Recordset = rs
End Sub

Mi problema es que, anteriormente, cuando usaba el control DATA y establecía todas sus propiedades en tiempo de diseño, podía vincular cada campo de la tabla con un textbox también en tiempo de diseño. Pero ahora, no sé cómo tengo que hacer con DAO para obtener el mismo resultado ¿Me expliqué correctamente? Gracias de antemano.
Un saludo para tod@s!

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:DAO y textbox

Publicado por josé (129 intervenciones) el 25/01/2003 19:10:14
Si no usas el Data Control DAO sino todo por puro código DAO, luego de tener conectada la BD al proyecto como indicas, para mantenimiento de registros puedes usar algo como esto, ejemplo:

Guardar:
rs.AddNew
rs!Campo = TxtCampo
rs.Update

Consultar:
rs.MoveFirst
While Not rs.EOF
If TxtCampo.Text = rs!CampoID Then
TxtCampo.Text = rs!Campo
Exit Sub
End if
rs.MoveNext
Wend
MsgBox "No se ha encontrado ningún registro bajo el campo " & TxtCampo.Text

Modificar ó Actualizar:
rs.MoveFirst
While Not rs.EOF
If TxtCampo.Text = rs!CampoID Then
If Msgbox("¿Está seguro que desea Modificar el Registro?, vbYesNo, "Confirmando") = vbNo then
Exit sub
Else
rs.Edit
rs!Campo = TxtCampo.Text
rs.Update
Exit Sub
End If
End if
rs.MoveNext
Wend
MsgBox "No se ha encontrado ningún registro bajo el campo " & TxtCampo.Text
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DAO y textbox

Publicado por josé (129 intervenciones) el 25/01/2003 19:10:48
Eliminar:
rs.MoveFirst
While Not rs.EOF
If TxtCampo.Text = rs!CampoID Then
If MsgBox("¿Está seguro que desea Eliminarlo?", vbYesNo, "Confirmando")= vbNo then
Exit Sub
Else
rs.Delete
TxtCampo.Text = ""
Exxit Sub
End If
End if
rs.MoveNext
Wend
MsgBox "No se ha encontrado ningún registro bajo el campo " & TxtCampo.Text

Al menos yo lo he hecho así. Pero coloco un registro en la BD para ya con al menos un registro poner en Guardar:

rs.MoveFirst
While Not rs.EOF
If TxtCampo.Text = rs!CampoID Then
MsgBox "Ya existe un registro bajo el Campo ID: " & rs!CampoID
Exit Sub
Else
rs.AddNew
rs!Campo = TxtCampo.Text
rs.Update
MsgBox "Registro Guardado"
End if
rs.MoveFirst
Wend

S la BD está inicialmente vacía, el .MoveFirts dará error, no sé si lo tuyo sea Access pero usando Access guardo un registro ficticio para que la BD no esté vacia, le indico al usuario que luego de guardar algunos registros suyos, pueda borrar el registro ficticio o registro prueba para que el .MoveFirst no de error y así el programa pueda evitar duplicados de campos ID.

Yo estaré pendiente para otras opciones que te puedan aportar, bueno.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Muchas Gracias, pero...

Publicado por Jack (54 intervenciones) el 25/01/2003 20:54:16
Me vino genial tu ayuda, y te la agradezco enormemente. Pero sigo sin saber cómo hacer para que los 12 texbox que tengo en mi tabla me reflejen los campos correspondientes. Gracias! Aprendí muxo con tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Muchas Gracias, pero...

Publicado por josé (129 intervenciones) el 25/01/2003 22:44:40
El código de consulta de antes sólo muestar todos los demás campos de un registro luego de escribir en el TextBox de busqueda, el campo clave o campo ID de dicho registro. Busca en la BD, si el campo que se escribio en dicho TextBox existe en algún registro de la BD, entonces muestar todos los demás campos de dicho registro en los demás TextBox. Se escribe el campo ID y se pulsa el botónde consulta, pero también se puede en el evento KeyPress del TextBox de busqueda la manera de que se escribe el dato y se pulse enter para que muestre el resto de la información automáticamente: If Keyascii = 13 then consultar End If, siendo consulta, una función, por ejemplo.

Pregunta:
¿Quieres que por medio de unos botones: [<<] [<] [>] [>>] al cargar el Forn en memoria aparezca el primer registro con todos sus campos en todos los TextBox y que por medio de estos botones, el usuario se desplace por cada registro los cuales van apareciendo en los TextBox mientras el usuario pulsa el botón siguiente [>]. El control Data hace eso, pero se puede hacer por código, son solo un par de lineas de código. ¿Pero no es eso ¡verdad|?

Se supone que al escribir el campo clave del registro en el TextBox donde va, por ejemplo, Cedula de cliente, se supone que si el registro existe, entonces inmediatamente deben de mostrarse en los demás 11 TextBox lós demás campos que conforman a dicho registro.

Disculpa si no te entiendo, y si no funciona, entonces espero que otra persona pueda darte lo que necesitas, ya que los fines de semana el Foro baja considerablemente su actividad.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar