Duplicar un registro del mismo formulario
Estoy intentando replicar un ejemplo que he visto para duplicar un registro del mismo formulario, pero me da error, y no sé dónde está el fallo. El código es el siguiente:
Private Sub CmdCopiar_Click() Dim vUltimo As Variant Dim vAño As Long 'Le damos a la variable vAño el valor del año actual: Las dos cifras finales vAño = Val(Right(Year(Date), 2)) 'vUltimo es igual al Número de Registros del año +1, que se sumará abajo vUltimo = Nz(DCount("[CodigoPresupuesto]", "[TPresupuestos]", "[Año] = " & Year(Date)), 0) 'Si vUltimo es nulo, es porque no hay ningún NumJustifica, entonces le damos valor 0 If IsNull(vUltimo) Then vUltimo = 0 End If 'Sumamos 1 al valor anterior vUltimo = vUltimo + 1 CodigoPresupuesto = "P-" & vAño & "-" & Format(vUltimo, "00000") Dim strSQL As String Dim lngSiguiente As Long LngSiguiente = DMax("id", "TPresupuestos") + 1 strSQL = "INSERT INTO TPresupuestos ( id, CodigoPresupuesto, CodigoCliente, FechaSolicitud, Observaciones, Año, CodigoComercial, CodigoFormaDePago, Transporte, Montaje, Obra, CodigoEstado, EsDeposito, Deposito, PorcentajeDeBeneficio, CodigoFactura, CodigoIVATransporte, CodigoIVAMontaje, IVAPresupuestos, TransporteProrrateado, CodigoTipoDePresupuesto, CodigoProveedor, EsTransporteInternacional )" strSQL = strSQL & " SELECT " & lngSiguiente & " , CodigoPresupuesto, CodigoCliente, FechaSolicitud, Observaciones, Año, CodigoComercial, CodigoFormaDePago, Transporte, Montaje, Obra, CodigoEstado, EsDeposito, Deposito, PorcentajeDeBeneficio, CodigoFactura, CodigoIVATransporte, CodigoIVAMontaje, IVAPresupuestos, TransporteProrrateado, CodigoTipoDePresupuesto, CodigoProveedor, EsTransporteInternacional" strSQL = strSQL & " FROM TPresupuestos" strSQL = strSQL & " WHERE CodigoPresupuesto = " & Me.CodigoPresupuesto CurrentDb.Execute strSQL, dbFailOnError StrSQL = "INSERT INTO TPresupuestosSubtabla ( ID, CodigoPresupuesto, Cantidad, Caracteristicas, Concepto, Precio, CodigoIVA, Imagen, Posicion, EsPorcentajeDeBeneficio, PorcentajeDeBeneficioArticulo )" strSQL = strSQL & " SELECT " & lngSiguiente & " , CodigoPresupuesto, Cantidad, Caracteristicas, Concepto, Precio, CodigoIVA, Imagen, Posicion, EsPorcentajeDeBeneficio, PorcentajeDeBeneficioArticulo" strSQL = strSQL & " FROM TPresupuestosSubtabla" strSQL = strSQL & " WHERE CodigoPresupuesto = " & Me.CodigoPresupuesto CurrentDb.Execute strSQL, dbFailOnError
Ahí tenéis el fallo:
Cuando pongo en un campo "Codigo...", es mi manera de saber que ese campo está relacionado con otro del mismo nombre de otra tabla. Asimismo, necesito que cree un nuevo código de presupuesto, de ahí el código del principio, pero ¿cómo lo meto?
1 respuesta
Respuesta de Sveinbjorn El Rojo
1