Copiar el contenido de un cuadro de texto de formulario en un campo de una tabla que no es su origen de datos

Cuadro de texto1 en formulario1 origen donde se gravan los datos tabla1

Copiar datos en tabla2 campo1

2

2 Respuestas

487.225 pts.

Dependiendo si lo que quieres es actualizar un dato ya existente o por el contrario quieres añadirlo como nuevo será con.

Para Actualizar >> UPDATE...  >> https://msdn.microsoft.com/es-es/library/office/ff845036.aspx 

Para Nuevo >> INSERT INTO....https://msdn.microsoft.com/es-es/library/office/ff834799.aspx 

Y ésta otra página en la que están los dos aparte de eliminar....

https://msdn.microsoft.com/es-es/library/office/ff845201.aspx 

Un saludo >> Jacinto

class regald

DoCmd.RunSQL "insert into tabla1(campo1)values(forms!formulario!Inombrecuadro de texto)"

Me funciona pero solo si el valor no existe si el valor existe me lansa un mensaje

Que indiga que no se puede anexsar por que el valor esta duplicado

Lo que busco es insertar el valor si este no existe y si existe simplemente que pase por alto la petición

Siendo el caso así, sondea primero si existe el valor.

Puedes hacerlo con DCount o con DLookup. Adapta a tus Nombres de Objetos, y te pongo un Ejemplo con DCount:

If Nz(DCount("ElCampoTabla","LaTabla","ElCampoTabla = '" & Me.ElTextBox & "'"),0) > 0 Then

Exit Sub 'Sales del Procedimiento sin hacer nada

Else

'Tu código.....

End If

Consideraciones: Si tus nombre de Objetos tienen nombres separados o acentos etc, has de ponerlos entre Corchetes>> [Mi Campo].

Si en el sondeo el dato es Número en lugar de texto ...... "ElCampoTabla = " & Me.ElTextBox

Mis saludos >> Jacinto

Hola Jacinto

prove pero no me hace nada es posible que yo este haciendo algo mal

recordandole que lo que busco es pasar los datos a barias tablas a un campo el valor del cuadro de texto y que este no deve de estar repetido ya que ese campo es la clave prinsipal y no admite duplisidad

no se si puedo mandarle por correo para que le de una mirada

No hay ningún problema en que me mandes tu BD a mi correo.

Mis saludos >> Jacinto

695.950 pts. No valoras las respuestas, no respondo la siguiente. No...

Puedes hacerlo de varias formas. Por ejemplo

1º Con un botón de comando

Docmd.runsql"insert into tabla2(campo1)values('" & me.cuadro de texto1 & "')"

En caso de que quieras que sea un registro en particular

docmd.runsql"insert into tabla2(campo1)values('" & me.cuadro de texto1 & "') where criterio=......"

2º En el mismo botón con

Docmd.runsql" insert into tabla2 campo1 select cuadro de texto1 from tabla1 where idcliente=forms!formulario1!idcliente

3º En el evento Después de actualizar...

En fin, si puedes concretar un poco más.

DoCmd.RunSQL "insert into tabla1(campo1)values(forms!formulario!Inombrecuadro de texto)"

Me funciona pero solo si el valor no existe si el valor existe me lansa un mensaje

Que indiga que no se puede anexsar por que el valor esta duplicado

Lo que busco es insertar el valor si este no existe y si existe simplemente que pase por alto la petición

Eso es porque tienes puesto el campo en la tabla como clave o como indexado sin duplicados. Es lógico que te lo diga porque en la tabla no puede haber dos registros con valores iguales.

Tendrás que solucionar lo anterior

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas