Discussione:
Aggiornamento vecchio gestionale adp a Access 2019
(troppo vecchio per rispondere)
Sabrina Levanti
2021-10-21 14:13:29 UTC
Permalink
Buon pomeriggio a tutti, sto provando ad aggiornare un gestionale sviluppato in access 2007 tramite progetto adp con una versione Access 2019 con tabelle collegate via ODBC.
Ho risolto svariati problemi ma non riesco a capire come devo cambiare il codice qui sotto riportato:

Private Sub Comm_AfterUpdate()
Dim strFiltro, desc1, desc2 As String
Dim rs As ADODB.Recordset
If Me!Cod_rada.Value & "" = "" Then

'strFiltro = "Comm =" & Me!Comm
'MsgBox strFiltro
'CondizioniPagamento = DLookup("[Condizioni pagamento]", "CondPagClienti", strFiltro)Cod_tipo_commessa
strFiltro = DLookup("[Cod_tipo_commessa]", "dbo_Commesse", "COMM =" & "'" & Me!Comm & "'")
desc1 = DLookup("[Descrizione]", "[dbo_Tipo di commessa]", "Cod_tipo_commessa =" & "'" & strFiltro & "'")
Set rs = CurrentProject.Connection.Execute("SELECT MAX([N°Fabbrica]) AS NMax, MIN([N°Fabbrica]) AS NMin FROM dbo.[Numero di fabbrica] WHERE Comm = " & "'" & Me!Comm & "'")
MinNF = rs!NMin
MaxNF = rs!NMax
rs.Close
If MinNF = MaxNF Then
desc2 = MinNF
Else
desc2 = MinNF & " - " & MaxNF
End If
MsgBox desc2
'desc2 = DLookup("[N°Fabbrica]", " [Numero di fabbrica]", "COMM =" & "'" & Me!Comm & "'")
Me!Descrizione = Replace(desc1, " ", "") '& Replace(desc2, " ", "")
Me!Descrizione = Me!Descrizione & " - Mod. " & DLookup("[Descrizione]", "Commesse", "COMM =" & "'" & Me!Comm & "'") & " Nr. Fabb. " & desc2
End If
End Sub

Mi viene restituito un errore di run-time '-2147467259 (80004005)' che capisco che ha a che fare con la stringa di connessione ma non so come risolvere?
Grazie per l'aiuto
Sabrina Levanti
2021-10-21 14:31:45 UTC
Permalink
Post by Sabrina Levanti
Buon pomeriggio a tutti, sto provando ad aggiornare un gestionale sviluppato in access 2007 tramite progetto adp con una versione Access 2019 con tabelle collegate via ODBC.
Private Sub Comm_AfterUpdate()
Dim strFiltro, desc1, desc2 As String
Dim rs As ADODB.Recordset
If Me!Cod_rada.Value & "" = "" Then
'strFiltro = "Comm =" & Me!Comm
'MsgBox strFiltro
'CondizioniPagamento = DLookup("[Condizioni pagamento]", "CondPagClienti", strFiltro)Cod_tipo_commessa
strFiltro = DLookup("[Cod_tipo_commessa]", "dbo_Commesse", "COMM =" & "'" & Me!Comm & "'")
desc1 = DLookup("[Descrizione]", "[dbo_Tipo di commessa]", "Cod_tipo_commessa =" & "'" & strFiltro & "'")
Set rs = CurrentProject.Connection.Execute("SELECT MAX([N°Fabbrica]) AS NMax, MIN([N°Fabbrica]) AS NMin FROM dbo.[Numero di fabbrica] WHERE Comm = " & "'" & Me!Comm & "'")
MinNF = rs!NMin
MaxNF = rs!NMax
rs.Close
If MinNF = MaxNF Then
desc2 = MinNF
Else
desc2 = MinNF & " - " & MaxNF
End If
MsgBox desc2
'desc2 = DLookup("[N°Fabbrica]", " [Numero di fabbrica]", "COMM =" & "'" & Me!Comm & "'")
Me!Descrizione = Replace(desc1, " ", "") '& Replace(desc2, " ", "")
Me!Descrizione = Me!Descrizione & " - Mod. " & DLookup("[Descrizione]", "Commesse", "COMM =" & "'" & Me!Comm & "'") & " Nr. Fabb. " & desc2
End If
End Sub
Mi viene restituito un errore di run-time '-2147467259 (80004005)' che capisco che ha a che fare con la stringa di connessione ma non so come risolvere?
Grazie per l'aiuto
RISOLTO: Mi rispondo da sola, quando si collegano le tabelle con ODBC le tabelle vengono nominate dbo_nometabella quindi mi è bastato cambiare:
Set rs = CurrentProject.Connection.Execute("SELECT MAX([N°Fabbrica]) AS NMax, MIN([N°Fabbrica]) AS NMin FROM [dbo_Numero di fabbrica] WHERE Comm = " & "'" & Me!Comm & "'")
le tabelle sul serversql si chiamano dbo.nometabella mentre su access la stessa tabella si chiama dbo_nometabella.
Grazie comunque

Continua a leggere su narkive:
Loading...