Otra vez. Espero no resultar pesada. Verás ahora necesitaría crear un botón que me guardase de un formulario, en una nueva tabla, sólo dos campos. El formulario no crea registros en ninguna tabla.
1 respuesta
Respuesta de telemaco
1
1
telemaco, He trabajado 5 años desarrollando aplicaciones tanto en access...
No te preocupes, no eres pesada... en lo que te pueda ayudar lo haré, para eso estoy en TODOEXPERTOS... Bueno... lo que dices se puede hacer así... Imaginemos que la tabla se llama MITABLA y los campos de la tabla en cuestión se llama CÓDIGO y NOMBRE... Ahora las cajas de texto en el formulario imaginemos que se llaman TxtCodigo y TxtNombre... entonces en el evento click del botón colocarías... ************************* If Not Isnull(txtCodigo) and Not Isnull(txtnombre) then Sql = "Insert into MITABLA (CODIGO,NOMBRE) Values(" & TxtCodigo & ",'" & TxtNombre & "');" Currentdb.Execute SQL End If ************************* El if... me preunta que solo lo va hacer SI HAY DATOS EN LAS CAJAS... La variable SQL, me gusrda la cadena SQL que necesito, en este caso un INSERT... Como puedes ver, después del nombre de la tabla, entre paréntesis van EN ORDEN COMO LOS QUIERO LLENAR los campos que insertare de la tabla.. ahora después de la palabra Values entre paréntesis los valores con los que llenare, debe ir en orden según los campos... OJO: supuse que código es numérico y nombre es un campo texto... porque en estos dos casos la asignación es un poquito diferente: Si el camo es numérico (como en el ejemplo código) iría: " & TxtCodigo & " Comillas dobles, espacio, Ampersand(&), espacio, La variable o criterio(en este caso el nombre de la caja de texto), Espacio, Ampersand(&), espacio, Colillas Dobles... En el caso de un campo texto (Como en el ejemplo NOMBRE): '" & TxtNombre & "' Comilla sencilla, Comillas dobles, espacio, Ampersand(&), espacio, La variable o criterio(en este caso el nombre de la caja de texto), Espacio, Ampersand(&), espacio, Colillas Dobles, Comilla sencilla... En el caso de fechas (Aunque no esta en el ejemplo te lo diré): #" & Format(TxtFecha,"MM/dd/yyyy") & "# CSharp(#), Comillas dobles, espacio, Ampersand(&), espacio, La variable o criterio(en este caso se debe formatear el la caja de la fecha, ya que las consultas SQL, solo admiten el formato Mes/Dia/año), Espacio, Ampersand(&), espacio, Colillas Dobles, CSharp(#)... Att:telemaco
Y si fueran tres campos en vez de dos como lo reflejo aquí: If Not Isnull(txtCodigo) and Not Isnull(txtnombre) then
Seria: If Not Isnull(txtCodigo) and Not Isnull(txtnombre) AND Not Isnull(txtfecha)then Se coloca AND... y se coloca ... Ojo:se debe incluir también en la instrucción sql... Sql = "Insert into MITABLA (CODIGO,NOMBRE,FECHA) Values(" & TxtCodigo & ",'" & TxtNombre & "',#" & TxtFecha & "#);" att:telemaco
Me da error y se me marca en amarillo esto: CurrentDb.Execute SQL Yo creo que hay algo mal este es el código entero: Private Sub REGISTRAR_Click() If Not IsNull(UNION) And Not IsNull(COD_OBRA) And Not IsNull(Texto62) Then SQL = "Insert into ARCHIVO (ASUNTO,NRO OBRA,HIPERVINCULO) Values('" & Texto62 & "','" & COD_OBRA & "','" & UNION & "');" CurrentDb.Execute SQL End If End Sub
Excelente como siempre
Claro hay un problema, NRO OBRA... tiene un espacio, y hay esta el error... debes colocarlo entre corchets as: SQL = "Insert into ARCHIVO (ASUNTO,[NRO OBRA],HIPERVINCULO) Values('" & Texto62 & "','" & COD_OBRA & "','" & UNION & "');" Y LISTO... Me avisas... Att:telemaco