INSERT en un formulario Access

Tengo una pregunta hago un formulario para recoger los datos y quiero crear varios registros con esos datos, he puesto un botón y en el command tengo:
Private Sub Crear_Varios_1_Click()
If IsNumeric(Me.Cantidad) = True Then
cant = CInt(Me.Cantidad)
qr1 = Me.QR
client1 = Me.Client
plant1 = Me.Plant
project1 = Me.Project
For x = 0 To cant
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO TablaMagnaCalidad (QR,Client,Plant,Project,Origen) VALUE (" & qr1.Value & ", " & client1.Value & "," & plant1.Value & "," & project1.Value & ")"
DoCmd.SetWarnings True
Next x
Else
MsgBox "Introduce un numero en Cantidad"
End If
End Sub
Sale al ejecutarlo:
Runtime error 424 Object requiered y da error en la linea de SQL.
Haber si me podéis echar una mano.
¿Luego tengo que mostrar estos últimos registros creados para añadir los campos que son diferentes (esto creo que se puede hacer con una query) como se haría?

1 respuesta

Respuesta
2
VALUES en vez de VALUE
DoCmd.RunSQL "INSERT INTO TablaMagnaCalidad (QR,Client,Plant,Project,Origen) VALUES (" & qr1.Value & ", " & client1.Value & "," & plant1.Value & "," & project1.Value & ")"
Si los campos en los que vas a insertar son numéricos está bien poner " & ... & "
Pero si son de texto hay que poner comilla simple '" & ... & "'
Mira si va por ahí el tema.
Me cuentas.
Permíteme una pequeña aclaración:
Texto --> '(apostrofo)"(comillas) todo junto --> '"
Numero --> "(comillas)
Muchas gracias.
¿Para la fecha que es tipo texto?
La siguiente cuestión es como hacer una query desde el mismo botón para buscar los recién incluidos (por la fecha, habrá un campo fecha) y permitir modificar los campos que son diferentes
Exacto:
Texto --> '(apostrofo)"(comillas) todo junto --> '"
Numero --> "(comillas)
Fecha ---> cDate('" & ......... & "')
El cuadro de texto te devuelve una cadena y esa cadena hay que pasarla a tipo fecha.
Para la 2ª pregunta, desde un botón en este formulario yo abriría otro formulario en modo continuo con los registros pertenecientes a la fecha. Para ello le pasaría la condición en el OpenForm:
DoCmd.OpenForm "NombreFormulario", acNormal,,"Fecha=cDate('" & form!NombreCuadroTextoDondeEstaLaFecha.value & "')"
Me cuentas.
Con lo del tipo fecha no me funciona, el código es este:
DoCmd.RunSQL "INSERT INTO TablaMagnaCalidad (QR,Client,Fecha analisis) VALUES ('" & Me.QR.Value & "'," & Me.Client.Value & ",cDate('" & Me.fecha & "'))"
He probado '" & cDate(Me.fecha) & "' y tampoco, es un campo del tipo date como se pondría
Y con los booleanos como se haría he probado numérico y me da error.
La forma correcta de hacerlo es: cDate('" & Me.fecha & "), en la página:
http://angelessebas.es/
En el apartado Formularios, supuesto: Formulario para insertar datos en una tabla
Tengo varios ejemplos de como hacerlo.
Mira bien que lo que introduces en el cuadro de texto, que sea una cadena que se pueda convertir a fecha.
Para los booleanos, como no devuelven ningún valor como tal sino que devuelven False o True no se pone nada ni ' ni " ni & unicamente Form!NombreDelCuadroDeTexto
Me cuentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas