Como soluciono el siguiente código

Dim numm As Double
Dim strSQL As String
If (DLookup("[Codigo]", "[TIP_COMPROBANTE]", "[codigo] = form![com_tipo]")) = False Then
MsgBox "comprobante no exite"
Else
numm = DLookup("[Num_comp]", "TIP_COMPROBANTE", "[codigo] = form![com_tipo]")
Me.Com_num = numm + 1
strSQL = "UPDATE [TIP_COMPROBANTE] SET [TIP_COMPROBANTE].[Num_comp] = '" & numm + 1 & "' WHERE [TIP_COMPROBANTE]![Nom_comp] = '" & Me.[Com_tipo] & "'"
CurrentDb.Execute strSQL, dbFailOnError
MsgBox "DATOS ACTUALIZADOS"
End If..

Tengo este código, queme soluciona de la siguiente manera:

Cuando escojo el tipo de comprobante, me trae el numero del comprobante al campo num_comprobante, pero cuando voy actualizar el numero del comprobante en la table num_comp no me lo actualiza, a que ustedes son expertos en el tema, haber si me pueden orientar.

1 respuesta

Respuesta
1

1. If (DLookup("[Codigo]", "[TIP_COMPROBANTE]", "[codigo] = form![com_tipo]")) = False .

Tu primera condición esta mal Dlookup devuelve nulo si no encuentra nada, no falso lo correcto seria.

If IsNull(DLookup("[Codigo]", "TIP_COMPROBANTE", "[codigo] = form![com_tipo]"))then

2. '" & numm + 1 & "' 

El tipo de dato Double no lleva comillas simples por que es numero lo correcto seria.

" & numm + 1 & "

3. '" & Me.[Com_tipo] & "'"

Si tu campo [Com_tipo] es de tipo numero debes quitar las comillas simples revísalo.

¡Gracias! 

muchas gracias, lo había solucionado de esta manera, le haré los cambios sugeridos...

Private Sub Com_tipo_LostFocus()
Dim numm As Double
If (DLookup("[Codigo]", "[TIP_COMPROBANTE]", "[codigo] = form![com_tipo]")) = False Then
MsgBox "comprobante no exite"
Else
numm = DLookup("[Num_comp]", "TIP_COMPROBANTE", "[codigo] = form![com_tipo]")
Me.Com_num = numm + 1
strSQL = "UPDATE [TIP_COMPROBANTE] SET [TIP_COMPROBANTE].[Num_comp] = " & Me.[Com_num] & " WHERE [TIP_COMPROBANTE]![codigo] = " & Me.[Com_tipo] & ""
CurrentDb.Execute strSQL, dbFailOnError
MsgBox "DATOS ACTUALIZADOS"
End If
End if...

De acuerdo.

Te invito a que te pases por mi canal y te suscribas tiene mucho ejercicios de VBA Access el código lo dejo en la descripción de cada vídeo.

 https://www.youtube.com/channel/UCjS6fHbImLyqtrcdHvJLRgg?sub_confirmation=1

strSQL = "UPDATE [Manifiestos] SET [Manifiestos].[Cancelado] = " &  True & " WHERE [Manifiestos]![Man_num] = '" & Me.[Manifiesto] & "'"
CurrentDb.Execute strSQL, dbFailOnError..

Como hacer que [Manifiestos].[Cancelado] reciba valor true desde un formulario cualquiera..

Así como esta el código, me saca error.. lo intente con comillas simples...

Así

strSQL = "UPDATE [Manifiestos] SET [Manifiestos].[Cancelado] = True WHERE [Manifiestos]![Man_num] = '" & Me.[Manifiesto] & "'"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas