
FUNCION INSERT INTO
Publicado por Maikel (9 intervenciones) el 02/11/2016 01:57:21
Buenas noches,
Llevo mas de dos horas con esto y no acabo de encontrar la solución. Tengo un código que me duplica los datos de un formulario con registros asociados de un subformulario, pero quiero que solo se duplique los registros que cumplan una determinada condición. Este es el código:
la instrucción que quiero insertar es que solo se dupliquen los datos cuando PLANTILLA = VERDADERO, pero por mas que lo intento no me funciona, ni con la función AND después del WHERE ni con IF...
No se si me explicado bien, espero que alguien me pueda echar un cable.
Gracias de antemano.
Llevo mas de dos horas con esto y no acabo de encontrar la solución. Tengo un código que me duplica los datos de un formulario con registros asociados de un subformulario, pero quiero que solo se duplique los registros que cumplan una determinada condición. Este es el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Private Sub cmdDuplicar_Click()
Dim strSQL As String, _
lngSiguiente As Long
' calculo el número de pedido que le toca
lngSiguiente = DMax("idPedido", "Pedidos") + 1
' construyo la sentencia SQL para insertar el nuevo registro con todos los datos iguales que el actual y el nuevo id
strSQL = "INSERT INTO Pedidos ( IDPEDIDO, CODCLI, CODCEN, IDPROVEEDOR, [FECHA PEDIDO], [FECHA SERVICIO], [PEDIDO FACTURABLE], OBSERVACIONES)"
strSQL = strSQL & " SELECT " & lngSiguiente & " , CODCLI, CODCEN, IDPROVEEDOR, #" & Format(Date, "mm/dd/yy") & "#, [FECHA SERVICIO], [PEDIDO FACTURABLE], OBSERVACIONES"
strSQL = strSQL & " FROM Pedidos"
strSQL = strSQL & " WHERE IDPEDIDO = " & Me.IDPEDIDO
' ejecuto la inserción del pedido
CurrentDb.Execute strSQL, dbFailOnError
strSQL = "INSERT INTO [DETALLES DE PEDIDOS] ( IDPEDIDO, IDPRODUCTO, CODIGO, PRODUCTO, PRECIO, UNDS, PLANTILLA)"
strSQL = strSQL & " SELECT " & lngSiguiente & " , IDPRODUCTO, CODIGO, PRODUCTO, PRECIO, UNDS, PLANTILLA"
strSQL = strSQL & " FROM [Detalles de pedidos]"
strSQL = strSQL & " WHERE IDPEDIDO= " & Me.IDPEDIDO
' ejecuto la inserción de los detalles del pedido
CurrentDb.Execute strSQL, dbFailOnError
Me.Requery
DoCmd.GoToRecord , , acLast
MsgBox "EL PEDIDO HA SIDO DUPLICADO CON EXITO"
End Sub
la instrucción que quiero insertar es que solo se dupliquen los datos cuando PLANTILLA = VERDADERO, pero por mas que lo intento no me funciona, ni con la función AND después del WHERE ni con IF...
No se si me explicado bien, espero que alguien me pueda echar un cable.
Gracias de antemano.
Valora esta pregunta


0