Consulta de datos anexados desde vba
Publicado por brais penela (3 intervenciones) el 13/11/2018 19:32:45
Buenas tardes, estoy intentando ( y digo bien porque llevo varias horas probando el siguiente código y no se porqué no va...) anexar a una tabla tblConceptos los datos básicos del concepto de una factura pero no va. llegado el momento de ejecutar la consulta si lo imprimo por Debug y lo pego en una consulta funciona pero directamente desde el codigo no.
IDEAS???
dejo el codigo
Aviso: como aún estoy en desarrollo no está muy depurado ( ya sabeis como va...)
IDEAS???
dejo el codigo
Aviso: como aún estoy en desarrollo no está muy depurado ( ya sabeis como va...)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
Private Sub idFactura_DblClick(Cancel As Integer)
On Error GoTo errorfactura:
Dim db
Dim rs
Dim sql As String
Dim newFactura As String
Dim rs1
Dim sql1 As String
Dim sql2 As String
Set db = CurrentDb
sql = "SELECT Left([idFactura],4) AS añoFactura, Count(Left([idFactura],4)) AS nFacturas, Year(Now()) & '/' & Format([nFacturas]+1,'00') AS facturaSiguiente FROM tblTraballosFasesEntregas GROUP BY Left([idFactura],4) HAVING (((Left([idFactura],4))=Year(Now())));"
Set rs = CurrentDb.OpenRecordset(sql)
newFactura = rs!facturaSiguiente
Debug.Print newFactura
Dim Respuesta, Estilo, Titulo, Mensaje
Mensaje = "¿Quieres crear una nueva FACTURA?"
Titulo = "Crear nueva FACTURA"
Estilo = vbYesNo + vbQuestion + vbDefaultButton2
Respuesta = MsgBox(Mensaje, Estilo, Titulo)
If Respuesta = vbYes Then
If Me.idFactura <> "" Then
Mensaje1 = "Ya existe una factura para esta entrega. Pulsa Aceptar para modificar la FACTURA."
Titulo1 = "Modificar FACTURA"
Estilo1 = vbOKCancel + vbCritical + vbDefaultButton2
Respuesta1 = MsgBox(Mensaje1, Estilo1, Titulo1)
If Respuesta1 = vbOK Then
MsgBox "Modificar factura"
Else
MsgBox "salir"
Exit Sub
End If
Else
MsgBox "Nueva FACTURA con número: " & newFactura
sql1 = "SELECT tblTraballos.idTraballo, tblTraballosFases.idFase, tblTraballosFasesEntregas.IdEntrega, tblTraballos.txtDenominacion, Round([pctFactura]*[pctImporte]*[tbltraballos].[dblImporte],2) AS importe " _
& " FROM tblTraballos INNER JOIN (tblTraballosFases INNER JOIN tblTraballosFasesEntregas ON (tblTraballosFases.idFase = tblTraballosFasesEntregas.idFase) AND (tblTraballosFases.idTraballo = tblTraballosFasesEntregas.idTraballo)) ON tblTraballos.idTraballo = tblTraballosFases.idTraballo " _
& " WHERE (((tblTraballos.idTraballo)='" & Me.idTraballo & "') AND ((tblTraballosFases.idFase)=" & Me.idFase & ") AND ((tblTraballosFasesEntregas.IdEntrega)=" & Me.IdEntrega & "));"
Set rs1 = CurrentDb.OpenRecordset(sql1)
Dim nuevoimporte As Double
Dim nuevoconcepto As String
nuevoimporte = rs1!importe
nuevoconcepto = rs1!txtDenominacion
'Me.idFactura = newFactura
sql2 = "insert into tblconceptos ( idfactura, dblimporte, txtconcepto ) " _
& " select '" & newFactura & "' as nuevonumerofactura, " & nuevoimporte & " as nuevoimporte, '" & nuevoconcepto & "' as nuevoconcepto;"
Debug.Print sql2
db.Execute sql2
DoCmd.Close acForm, Me.Name
End If
Else
MsgBox "salir"
Exit Sub
End If
Me.idFactura = newFactura
Set rs = Nothing
Set rs1 = Nothing
Set db = Nothing
errorfactura:
MsgBox err.Number & err.Description
End Sub
Valora esta pregunta


0