Visual Basic - Problema access y VB

Life is soft - evento anual de software empresarial
 
Vista:

Problema access y VB

Publicado por Julen (3 intervenciones) el 09/03/2006 17:59:47
Hola,

tengo una tabla creada en access unida a un datacontrol en visual basic, el problema es que la tabla de access tiene un campo autonumerico (que indica el número de informe) y la fecha (que coge automáticamente la del día en cuestión). LA finalidad de esto era unirlo a un formulario en visual basic que cuando se crease un registro nuevo no hubiese que rellenar esos campos, funciona correcto excepto el primer registro, que o bien no muestra en pantalla los campos (num_informe y fecha) pero los guarda correctamente o bien la aplicación falla porque el campo autonumérico (que debería coger de la tabla y que es la clave principal) está vacío. Como les digo una vez se pasa el primer registro (aunque sea manualmente desde la misma tabla de access) funciona bien.
La forma en la que creo los nuevos registros es abriendo la base de datos, la chequeo si está vacía y si no lo está le hago un .recordset.movelast y luego .recordset.addnew, pero en el caso de estar vacía no se qué hacer ya que es cuando no me coge esos campos.

Un saludo y muchas gracias
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:Problema access y VB

Publicado por Daniel (27 intervenciones) el 09/03/2006 18:32:45
El problema que tienes es por el data, al momento de utilizar el recordset.movelast, el data marca un erro, este control, no permite estar vacio, ahi tines que hacer una validacion muy sencilla

if (data1.recordset.BOF) and (data1.recordset.EOF) = true then
data1.recordset.addnew
else
'''''' paso para dar de alta

end if

eso para evitar el error cuando la tabla esta vacia.

te recomiendo que elimines el campo autonumerico, pues te va a crear problemas inecesarios.

conviertelo en numerico

el paso para dar de alta, seria algo asi mas o menos
para ello necesitar vincular un text o label al campo de la tabla que contiene el indice

data1.recordset.movelast

en ese momento
el text vinvulado tiene en su propiedad text el valor del ultimo registro, por ejemplo imagina que es el registro 10

entonces haces esto

data1.recordset.addnew
el valor del text.text que sera de 10 asignalo a una variable temporal

x = val(text1.text) + 1
' x = 11
resignale ese valor al texto vinculado y listo.

data1.refresh

Nota: este ejemplo es muy general TU debes adaptarlo atu programa
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:Problema access y VB

Publicado por marco (1 intervención) el 04/04/2006 23:05:28
como vinculo access com visual basic agregando registros y almacenando los registros en access
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:Problema access y VB

Publicado por Matias Guru (8 intervenciones) el 10/03/2006 17:31:14
La mejor manera de hacer lo que queres y muchas otras posibilidades sobre base de datos de access es manejar todo por codigo el objeto datacontrol no es muy eficaz para manipular las base de datos. Ya que puede ser muy extensa mi respuesta te recomiendo que buscar por internet informacion de como manejar base de datos de access por codigo. No te recomiendo el uso del objeto datacontrol. Suerte!!!, si despues tenes dudas espero preguntas.
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