CODIGOS

ppardo
23 de Diciembre del 2003
Hola, necesito una luz de esperanza, alguien tiene el codigo de los botones Aceptar o Grabar para que los datos de los text se almacenen en una BD access 2000, estoy trabajando bajo VB6,
gracias

naveguito
23 de Diciembre del 2003
Antes de grabar los datos has de hacer un addnew,por ejemplo pones un boton añadir


marco_botones.Enabled = False
(Yo siempre utilizo un frame en el que coloco los botones y otro en el que coloco los TextBox de los datos a grabar)
marco_datos.Enabled = True
Nombre del data .Recordset.AddNew
Nombre del data.Enabled = False(para que no cambies de registro mientras estas añadiendo uno nuevo)
Txt(0).SetFocus(Te situas en el 1ºTextbox o en el que quieras
end sub

Private Sub CmdAceptar2_Click()
If Txt(0) = "" Or Txt(1) = "" Then
MsgBox "Le falta alguno de los datos importantes.Compruébelo", vbInformation + vbOKOnly, "Atención :"
Txt(0).SetFocus
Exit Sub
End If
Nombre del data .Recordset.Update
Nombre del data .Recordset.MoveFirst
Nombre del data.Enabled = True
marco_botones.Enabled = True
marco_datos.Enabled = False
Cmdañadir.SetFocus
End Sub

Creo que no me olvido de nada,espero que t sirva de algo

naveguito
23 de Diciembre del 2003
Haber:
Para grabar datos a una BD has de tener un control data(Propiedad DATABASENAME,aqui eliges la ruta de tu Base de Datos y propiedad RECORDSOURCE eliges la tabla de tu BD a la que vas añadir los datos)
Private SUb cmdañdir_Click() 'NOMBRE QUE LE DOY AL BOTON
marco_botones.Enabled = False
(Yo siempre utilizo un frame en el que coloco los botones y otro en el que coloco los TextBox de los datos a grabar)
marco_datos.Enabled = True
Nombre del data .Recordset.AddNew
Nombre del data.Enabled = False(para que no cambies de registro mientras estas añadiendo uno nuevo)
Txt(0).SetFocus(Te situas en el 1ºTextbox o en el que quieras
end sub

Private Sub CmdAceptar2_Click()
If Txt(0) = "" Or Txt(1) = "" Then
MsgBox "Le falta alguno de los datos importantes.Compruébelo", vbInformation + vbOKOnly, "Atención :"
Txt(0).SetFocus
Exit Sub
End If
ESTE IF ES DE ADORNO ES POR SI EN LA BASE DE DATOS TIENES LA PROPIEDAD DE PERMITIR LONGITUD CERO=SI,ES PARA EVITAR QUE GRABES UNA LINEA EN BLANCO,SE PUEDE PASAR SIN ELLA
Nombre del data .Recordset.Update
Nombre del data .Recordset.MoveFirst
Nombre del data.Enabled = True
marco_botones.Enabled = True
marco_datos.Enabled = False
Cmdañadir.SetFocus
End Sub

CADA TEXTBOX TIENE QUE TENER EN LAS PROPIEDADES DATASOURCE=NOMBRE DEL CONTROL DATA(APARECE AL HACER CLICK) Y DATAFIELD EL NOMBRE DEL CAMPO AL QUE VAS A GRABAR LO QUE TIENES EN LA CAJA DE TEXTO)

ppardo
23 de Diciembre del 2003
se puede hacer sin un control data, porque estoy trabajando sin el.

naveguito
23 de Diciembre del 2003
Creo que si pero ahora mismo ni idea,una vez lo hice sin data pero no recuerdo como

ppardo
23 de Diciembre del 2003
NO TE ENTENDI MUCHO ESE EJEMPLO

GON
23 de Diciembre del 2003
Hay varias formas de guardatos en una base.
Si te interesa mandame un mail que te paso el codigo de como hacerlo en DAO o en ADO.

ed
23 de Diciembre del 2003
este es un ejemplo con una tabla llamada ususarios, con un indice llamado usu_cla y unos campos llamados clave nombres y nivel. donde se digita la clave es en text3 y el nivel es en text2



dentro del boton:


usuarios.index="usu_cla"
usuarios.seek"=", text3
if usuarios.nomatch then
if val(text2) > 3 then
msgbox "nivel incorrecto"

else
usuarios.addnew
usuarios.fields("clave")=text3
usuarios.fiels("nombres")=text1
usuarios.fields("nivel")=text2


usuarios.update
msgbox "usuario gravado con exito"
endif
else

msgbox "clave ya existe"
endif