Visual Basic - grabar mas de 2 registros

Life is soft - evento anual de software empresarial
 
Vista:

grabar mas de 2 registros

Publicado por noe gaona amaro (48 intervenciones) el 12/07/2007 01:22:56
hola, ya he podido hacer un buen de cosas a mi sistema
solo ke me atore en algo ke me imagino ke es super simple pero ke yo no se
es ke cuando doy a grabar un registro a mi tabla se agrega bien pero cuando kiero copiar el cogigo para meter dos o mas campoc a la base me sale el error de
index or primary key cannot contain a null value

mi codigo es este

Private Sub grabar_Click()
Set db = OpenDatabase("D:\Thunder\system\personas.mdb")

SQL = "SELECT matricula FROM perso"
Set rec = db.OpenRecordset(SQL)
rec.MoveFirst
rec.AddNew
rec("matricula") = matriculatext.Text
rec.Update

SQL = "SELECT fecha_cum FROM perso"
Set rec = db.OpenRecordset(SQL)
rec.MoveFirst
rec.AddNew
rec("fecha_cum") = cumpleañostext.Text
rec.Update ---------------------------------------------- aki me marca el error

si borro lo de cumpleaños esa seccion si me lo graba pero si lo copio asi como esta y lo ejecuto no me lo graba, no se si asi se debe hacer o hay otra manera para poner todos lod text.tex y de un jalo de guarden todos, por lo pronto lo ando haciendo asi y me marca eso, alguien sabe como solucionarlo?
supongo ke hola es el ke me contestara :D el genio de el foro
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:grabar mas de 2 registros

Publicado por Hola (21 intervenciones) el 12/07/2007 17:09:22
matricula y fecha de cumpleaños, los estas guardando en la misma tabla (perso)?

si es asi, prueba con esto

Private Sub grabar_Click()
Set db = OpenDatabase("D:\Thunder\system\personas.mdb")

SQL = "SELECT matricula FROM perso"
Set rec = db.OpenRecordset(SQL)
rec.MoveFirst
rec.AddNew
rec("matricula") = matriculatext.Text
rec("fecha_cum") = cumpleañostext.Text
rec.Update

el error ke te aparece es ke no estas ingresando la clave primaria de la tabla perso, por ej. si tu tabla perso se compone de dos campos matricula y fecha de cumpleaños, estas ingresando solo la fecha de cumpleaños y la clave primaria ke vendria siendo la matricula, no le esta llegando ningun dato, segun el codigo ke estas mostrando.

en el codigo ke te deje ahi deberias estar ingresando los datos de matricula y fecha de cumpleaños en la tabla perso, primero se ingresa matricula y despues fecha de cumpleaños.

saludos y suerte.
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:grabar mas de 2 registros

Publicado por GRINGO (6 intervenciones) el 12/07/2007 17:10:47
VIENDO QUE EL GENIO DEL FORO (SEGUN VOS..) NO RESPONDE

PROBA REEMPLAZANDO ESTE CODIGO(EL TUYO)

SQL = "SELECT matricula FROM perso"
Set rec = db.OpenRecordset(SQL)
rec.MoveFirst
rec.AddNew
rec("matricula") = matriculatext.Text
rec.Update

SQL = "SELECT fecha_cum FROM perso"
Set rec = db.OpenRecordset(SQL)
rec.MoveFirst
rec.AddNew
rec("fecha_cum") = cumpleañostext.Text
rec.Update

POR ESTE...

SQL = "INSERT INTO perso(matricula,fecha_cum) Values ("
SQL = SQL & "' " & matricula.text & "','" & cumpleañostext.Text & "');"
Set rec = db.OpenRecordset(SQL)
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