Discussione:
Problema di aggiornamento dati via VBA su server sql che su progetto adp funzionava!
(troppo vecchio per rispondere)
Sabrina Levanti
2021-10-27 17:11:37 UTC
Permalink
Salve,
Ho un database accdb (Access2019) collegato via ODBC a sql server
ho il seguente codice su un pulsante per accodare dei dati su una tabella
che sul db in access 2003 con progetto adb funzionava ma che ora continua a darmi errore ("Tipo non corrispondente nell'espressione") e non capisco cosa sto sbagliando:

Private Sub Comando106_Click()
Dim strSQL As String
Dim NRec As Long
Dim strFiltro, strFiltro1 As String
strFiltro = Me!ID_Fornitura
strFiltro1 = Me!IDFornitore
'MsgBox strFiltro1
'MsgBox strFiltro


strSQL = "INSERT INTO [dbo_Dettagli ordini a fornitori] ( Peso_Ritiro, ID_Fornitura, Posizione, Descrizione, Quantità, Qta, Comm, Codice, COD_rada, UN, Prezzo, Prezzo1, [Tipo di prezzo], SCONTO, Sconto1, FORNITORE_PREFERENZIALE, [Prezzo di riferimento], Lavorazione )" & _
"SELECT dbo_Codici_PDM.PESO*dbo_DistintaMateriali_UT.Quantità AS Peso_Ritiro, [dbo_Ordine a fornitore].ID_Fornitura, dbo_DistintaMateriali_UT.Posizione, dbo_DistintaMateriali_UT.Descrizione+' - '+dbo_DistintaMateriali_UT.Dimensioni+' - '+dbo_DistintaMateriali_UT.Materiale AS Des, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.COMM, dbo_Codici_PDM.CODICE_COSTRUTTORE, dbo_DistintaMateriali_UT.ParticolareDWG, dbo_DistintaMateriali_UT.UN, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.[Tipo di prezzo], dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.FORNITORE_PREFERENZIALE, dbo_Codici_PDM.PREZZO_LISTINO, dbo_DistintaMateriali_UT.Finitura " & _
"FROM dbo_DistintaMateriali_UT, [dbo_Ordine a fornitore], dbo_Fornitori, dbo_Codici_PDM " & _
"WHERE dbo_Fornitori.IDFornitore = " & strFiltro1 & " AND(dbo_DistintaMateriali_UT.oRDINATA = 1) AND(dbo_DistintaMateriali_UT.oRDINATA_PRIMA=0) AND (dbo_DistintaMateriali_UT.RdO=FALSE) AND (dbo_DistintaMateriali_UT.Fornitore=dbo_Fornitori.NomeFornitore) AND([dbo_Ordine a fornitore].ID_RichiestaOfferta=dbo_DistintaMateriali_UT.COMM) AND (dbo_DistintaMateriali_UT.ParticolareDWG = dbo_Codici_PDM.DED_COD) AND [dbo_Ordine a fornitore].ID_Fornitura = " & strFiltro

MsgBox strSQL
CurrentProject.Connection.Execute strSQL, NRec
MsgBox "Numero record inseriti: " & NRec
Me.[Sottomaschera Dettagli ordini a fornitori].Form.Requery


End Sub

Grazie per l'aiuto
BFS
2021-10-28 09:50:58 UTC
Permalink
Post by Sabrina Levanti
Salve,
Ho un database accdb (Access2019) collegato via ODBC a sql server
ho il seguente codice su un pulsante per accodare dei dati su una tabella
Private Sub Comando106_Click()
Dim strSQL As String
Dim NRec As Long
Dim strFiltro, strFiltro1 As String
strFiltro = Me!ID_Fornitura
strFiltro1 = Me!IDFornitore
'MsgBox strFiltro1
'MsgBox strFiltro
strSQL = "INSERT INTO [dbo_Dettagli ordini a fornitori] ( Peso_Ritiro, ID_Fornitura, Posizione, Descrizione, Quantità, Qta, Comm, Codice, COD_rada, UN, Prezzo, Prezzo1, [Tipo di prezzo], SCONTO, Sconto1, FORNITORE_PREFERENZIALE, [Prezzo di riferimento], Lavorazione )" & _
"SELECT dbo_Codici_PDM.PESO*dbo_DistintaMateriali_UT.Quantità AS Peso_Ritiro, [dbo_Ordine a fornitore].ID_Fornitura, dbo_DistintaMateriali_UT.Posizione, dbo_DistintaMateriali_UT.Descrizione+' - '+dbo_DistintaMateriali_UT.Dimensioni+' - '+dbo_DistintaMateriali_UT.Materiale AS Des, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.COMM, dbo_Codici_PDM.CODICE_COSTRUTTORE, dbo_DistintaMateriali_UT.ParticolareDWG, dbo_DistintaMateriali_UT.UN, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.[Tipo di prezzo], dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.FORNITORE_PREFERENZIALE, dbo_Codici_PDM.PREZZO_LISTINO, dbo_DistintaMateriali_UT.Finitura " & _
"FROM dbo_DistintaMateriali_UT, [dbo_Ordine a fornitore], dbo_Fornitori, dbo_Codici_PDM " & _
"WHERE dbo_Fornitori.IDFornitore = " & strFiltro1 & " AND(dbo_DistintaMateriali_UT.oRDINATA = 1) AND(dbo_DistintaMateriali_UT.oRDINATA_PRIMA=0) AND (dbo_DistintaMateriali_UT.RdO=FALSE) AND (dbo_DistintaMateriali_UT.Fornitore=dbo_Fornitori.NomeFornitore) AND([dbo_Ordine a fornitore].ID_RichiestaOfferta=dbo_DistintaMateriali_UT.COMM) AND (dbo_DistintaMateriali_UT.ParticolareDWG = dbo_Codici_PDM.DED_COD) AND [dbo_Ordine a fornitore].ID_Fornitura = " & strFiltro
MsgBox strSQL
CurrentProject.Connection.Execute strSQL, NRec
MsgBox "Numero record inseriti: " & NRec
Me.[Sottomaschera Dettagli ordini a fornitori].Form.Requery
End Sub
Grazie per l'aiuto
WHERE dbo_Fornitori.IDFornitore = " & strFiltro1 & " AND(


se strFiltro1 l'hai dichiaratao string quindi devono esserci gli apici


WHERE dbo_Fornitori.IDFornitore = '" & strFiltro1 & "' AND(

idem dove usi strFiltro

BFS
BFS
2021-10-28 09:54:39 UTC
Permalink
Post by Sabrina Levanti
Salve,
Ho un database accdb (Access2019) collegato via ODBC a sql server
ho il seguente codice su un pulsante per accodare dei dati su una tabella
Private Sub Comando106_Click()
Dim strSQL As String
Dim NRec As Long
Dim strFiltro, strFiltro1 As String
strFiltro = Me!ID_Fornitura
strFiltro1 = Me!IDFornitore
'MsgBox strFiltro1
'MsgBox strFiltro
strSQL = "INSERT INTO [dbo_Dettagli ordini a fornitori] ( Peso_Ritiro, ID_Fornitura, Posizione, Descrizione, Quantità, Qta, Comm, Codice, COD_rada, UN, Prezzo, Prezzo1, [Tipo di prezzo], SCONTO, Sconto1, FORNITORE_PREFERENZIALE, [Prezzo di riferimento], Lavorazione )" & _
"SELECT dbo_Codici_PDM.PESO*dbo_DistintaMateriali_UT.Quantità AS Peso_Ritiro, [dbo_Ordine a fornitore].ID_Fornitura, dbo_DistintaMateriali_UT.Posizione, dbo_DistintaMateriali_UT.Descrizione+' - '+dbo_DistintaMateriali_UT.Dimensioni+' - '+dbo_DistintaMateriali_UT.Materiale AS Des, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.COMM, dbo_Codici_PDM.CODICE_COSTRUTTORE, dbo_DistintaMateriali_UT.ParticolareDWG, dbo_DistintaMateriali_UT.UN, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.[Tipo di prezzo], dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.FORNITORE_PREFERENZIALE, dbo_Codici_PDM.PREZZO_LISTINO, dbo_DistintaMateriali_UT.Finitura " & _
"FROM dbo_DistintaMateriali_UT, [dbo_Ordine a fornitore], dbo_Fornitori, dbo_Codici_PDM " & _
"WHERE dbo_Fornitori.IDFornitore = " & strFiltro1 & " AND(dbo_DistintaMateriali_UT.oRDINATA = 1) AND(dbo_DistintaMateriali_UT.oRDINATA_PRIMA=0) AND (dbo_DistintaMateriali_UT.RdO=FALSE) AND (dbo_DistintaMateriali_UT.Fornitore=dbo_Fornitori.NomeFornitore) AND([dbo_Ordine a fornitore].ID_RichiestaOfferta=dbo_DistintaMateriali_UT.COMM) AND (dbo_DistintaMateriali_UT.ParticolareDWG = dbo_Codici_PDM.DED_COD) AND [dbo_Ordine a fornitore].ID_Fornitura = " & strFiltro
MsgBox strSQL
CurrentProject.Connection.Execute strSQL, NRec
MsgBox "Numero record inseriti: " & NRec
Me.[Sottomaschera Dettagli ordini a fornitori].Form.Requery
End Sub
Grazie per l'aiuto
e forse anche questo ti crea probelmi

dbo_DistintaMateriali_UT.RdO=FALSE

prova con

dbo_DistintaMateriali_UT.RdO=0


BFS
Sabrina Levanti
2021-10-28 13:05:12 UTC
Permalink
Post by BFS
Post by Sabrina Levanti
Salve,
Ho un database accdb (Access2019) collegato via ODBC a sql server
ho il seguente codice su un pulsante per accodare dei dati su una tabella
Private Sub Comando106_Click()
Dim strSQL As String
Dim NRec As Long
Dim strFiltro, strFiltro1 As String
strFiltro = Me!ID_Fornitura
strFiltro1 = Me!IDFornitore
'MsgBox strFiltro1
'MsgBox strFiltro
strSQL = "INSERT INTO [dbo_Dettagli ordini a fornitori] ( Peso_Ritiro, ID_Fornitura, Posizione, Descrizione, Quantità, Qta, Comm, Codice, COD_rada, UN, Prezzo, Prezzo1, [Tipo di prezzo], SCONTO, Sconto1, FORNITORE_PREFERENZIALE, [Prezzo di riferimento], Lavorazione )" & _
"SELECT dbo_Codici_PDM.PESO*dbo_DistintaMateriali_UT.Quantità AS Peso_Ritiro, [dbo_Ordine a fornitore].ID_Fornitura, dbo_DistintaMateriali_UT.Posizione, dbo_DistintaMateriali_UT.Descrizione+' - '+dbo_DistintaMateriali_UT.Dimensioni+' - '+dbo_DistintaMateriali_UT.Materiale AS Des, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.COMM, dbo_Codici_PDM.CODICE_COSTRUTTORE, dbo_DistintaMateriali_UT.ParticolareDWG, dbo_DistintaMateriali_UT.UN, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.[Tipo di prezzo], dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.FORNITORE_PREFERENZIALE, dbo_Codici_PDM.PREZZO_LISTINO, dbo_DistintaMateriali_UT.Finitura " & _
"FROM dbo_DistintaMateriali_UT, [dbo_Ordine a fornitore], dbo_Fornitori, dbo_Codici_PDM " & _
"WHERE dbo_Fornitori.IDFornitore = " & strFiltro1 & " AND(dbo_DistintaMateriali_UT.oRDINATA = 1) AND(dbo_DistintaMateriali_UT.oRDINATA_PRIMA=0) AND (dbo_DistintaMateriali_UT.RdO=FALSE) AND (dbo_DistintaMateriali_UT.Fornitore=dbo_Fornitori.NomeFornitore) AND([dbo_Ordine a fornitore].ID_RichiestaOfferta=dbo_DistintaMateriali_UT.COMM) AND (dbo_DistintaMateriali_UT.ParticolareDWG = dbo_Codici_PDM.DED_COD) AND [dbo_Ordine a fornitore].ID_Fornitura = " & strFiltro
MsgBox strSQL
CurrentProject.Connection.Execute strSQL, NRec
MsgBox "Numero record inseriti: " & NRec
Me.[Sottomaschera Dettagli ordini a fornitori].Form.Requery
End Sub
Grazie per l'aiuto
e forse anche questo ti crea probelmi
dbo_DistintaMateriali_UT.RdO=FALSE
prova con
dbo_DistintaMateriali_UT.RdO=0
BFS
Intanto grazie per la risposta, sono riuscita solo ora a provare ma non sembra essersi risolto!
Il codice l'ho modificato così:
strSQL = "INSERT INTO [dbo_Dettagli ordini a fornitori] ( Peso_Ritiro, ID_Fornitura, Posizione, Descrizione, Quantità, Qta, Comm, Codice, COD_rada, UN, Prezzo, Prezzo1, [Tipo di prezzo], SCONTO, Sconto1, FORNITORE_PREFERENZIALE, [Prezzo di riferimento], Lavorazione )" & _
"SELECT dbo_Codici_PDM.PESO*dbo_DistintaMateriali_UT.Quantità AS Peso_Ritiro, [dbo_Ordine a fornitore].ID_Fornitura, dbo_DistintaMateriali_UT.Posizione, dbo_DistintaMateriali_UT.Descrizione+' - '+dbo_DistintaMateriali_UT.Dimensioni+' - '+dbo_DistintaMateriali_UT.Materiale AS Des, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.COMM, dbo_Codici_PDM.CODICE_COSTRUTTORE, dbo_DistintaMateriali_UT.ParticolareDWG, dbo_DistintaMateriali_UT.UN, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.[Tipo di prezzo], dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.FORNITORE_PREFERENZIALE, dbo_Codici_PDM.PREZZO_LISTINO, dbo_DistintaMateriali_UT.Finitura " & _
"FROM dbo_DistintaMateriali_UT, [dbo_Ordine a fornitore], dbo_Fornitori, dbo_Codici_PDM " & _
"WHERE dbo_Fornitori.IDFornitore ='" & strFiltro1 & "' AND(dbo_DistintaMateriali_UT.Ordinata = 1) AND (dbo_DistintaMateriali_UT.Ordinata_PRIMA=0) AND (dbo_DistintaMateriali_UT.RdO=0) AND (dbo_DistintaMateriali_UT.Fornitore=dbo_Fornitori.NomeFornitore) AND([dbo_Ordine a fornitore].ID_RichiestaOfferta=dbo_DistintaMateriali_UT.COMM) AND (dbo_DistintaMateriali_UT.ParticolareDWG = dbo_Codici_PDM.DED_COD) AND [dbo_Ordine a fornitore].ID_Fornitura = '" & strFiltro & "' "
L'errore è sempre lo stesso:
Errore di run-tima'-2147467259 (80004005)':
Tipo non corrispondente nell'espressione.
BFS
2021-10-28 13:23:45 UTC
Permalink
Post by Sabrina Levanti
Post by BFS
Post by Sabrina Levanti
Salve,
Ho un database accdb (Access2019) collegato via ODBC a sql server
ho il seguente codice su un pulsante per accodare dei dati su una tabella
Private Sub Comando106_Click()
Dim strSQL As String
Dim NRec As Long
Dim strFiltro, strFiltro1 As String
strFiltro = Me!ID_Fornitura
strFiltro1 = Me!IDFornitore
'MsgBox strFiltro1
'MsgBox strFiltro
strSQL = "INSERT INTO [dbo_Dettagli ordini a fornitori] ( Peso_Ritiro, ID_Fornitura, Posizione, Descrizione, Quantità, Qta, Comm, Codice, COD_rada, UN, Prezzo, Prezzo1, [Tipo di prezzo], SCONTO, Sconto1, FORNITORE_PREFERENZIALE, [Prezzo di riferimento], Lavorazione )" & _
"SELECT dbo_Codici_PDM.PESO*dbo_DistintaMateriali_UT.Quantità AS Peso_Ritiro, [dbo_Ordine a fornitore].ID_Fornitura, dbo_DistintaMateriali_UT.Posizione, dbo_DistintaMateriali_UT.Descrizione+' - '+dbo_DistintaMateriali_UT.Dimensioni+' - '+dbo_DistintaMateriali_UT.Materiale AS Des, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.COMM, dbo_Codici_PDM.CODICE_COSTRUTTORE, dbo_DistintaMateriali_UT.ParticolareDWG, dbo_DistintaMateriali_UT.UN, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.[Tipo di prezzo], dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.FORNITORE_PREFERENZIALE, dbo_Codici_PDM.PREZZO_LISTINO, dbo_DistintaMateriali_UT.Finitura " & _
"FROM dbo_DistintaMateriali_UT, [dbo_Ordine a fornitore], dbo_Fornitori, dbo_Codici_PDM " & _
"WHERE dbo_Fornitori.IDFornitore = " & strFiltro1 & " AND(dbo_DistintaMateriali_UT.oRDINATA = 1) AND(dbo_DistintaMateriali_UT.oRDINATA_PRIMA=0) AND (dbo_DistintaMateriali_UT.RdO=FALSE) AND (dbo_DistintaMateriali_UT.Fornitore=dbo_Fornitori.NomeFornitore) AND([dbo_Ordine a fornitore].ID_RichiestaOfferta=dbo_DistintaMateriali_UT.COMM) AND (dbo_DistintaMateriali_UT.ParticolareDWG = dbo_Codici_PDM.DED_COD) AND [dbo_Ordine a fornitore].ID_Fornitura = " & strFiltro
MsgBox strSQL
CurrentProject.Connection.Execute strSQL, NRec
MsgBox "Numero record inseriti: " & NRec
Me.[Sottomaschera Dettagli ordini a fornitori].Form.Requery
End Sub
Grazie per l'aiuto
e forse anche questo ti crea probelmi
dbo_DistintaMateriali_UT.RdO=FALSE
prova con
dbo_DistintaMateriali_UT.RdO=0
BFS
Intanto grazie per la risposta, sono riuscita solo ora a provare ma non sembra essersi risolto!
strSQL = "INSERT INTO [dbo_Dettagli ordini a fornitori] ( Peso_Ritiro, ID_Fornitura, Posizione, Descrizione, Quantità, Qta, Comm, Codice, COD_rada, UN, Prezzo, Prezzo1, [Tipo di prezzo], SCONTO, Sconto1, FORNITORE_PREFERENZIALE, [Prezzo di riferimento], Lavorazione )" & _
"SELECT dbo_Codici_PDM.PESO*dbo_DistintaMateriali_UT.Quantità AS Peso_Ritiro, [dbo_Ordine a fornitore].ID_Fornitura, dbo_DistintaMateriali_UT.Posizione, dbo_DistintaMateriali_UT.Descrizione+' - '+dbo_DistintaMateriali_UT.Dimensioni+' - '+dbo_DistintaMateriali_UT.Materiale AS Des, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.COMM, dbo_Codici_PDM.CODICE_COSTRUTTORE, dbo_DistintaMateriali_UT.ParticolareDWG, dbo_DistintaMateriali_UT.UN, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.[Tipo di prezzo], dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.FORNITORE_PREFERENZIALE, dbo_Codici_PDM.PREZZO_LISTINO, dbo_DistintaMateriali_UT.Finitura " & _
"FROM dbo_DistintaMateriali_UT, [dbo_Ordine a fornitore], dbo_Fornitori, dbo_Codici_PDM " & _
"WHERE dbo_Fornitori.IDFornitore ='" & strFiltro1 & "' AND(dbo_DistintaMateriali_UT.Ordinata = 1) AND (dbo_DistintaMateriali_UT.Ordinata_PRIMA=0) AND (dbo_DistintaMateriali_UT.RdO=0) AND (dbo_DistintaMateriali_UT.Fornitore=dbo_Fornitori.NomeFornitore) AND([dbo_Ordine a fornitore].ID_RichiestaOfferta=dbo_DistintaMateriali_UT.COMM) AND (dbo_DistintaMateriali_UT.ParticolareDWG = dbo_Codici_PDM.DED_COD) AND [dbo_Ordine a fornitore].ID_Fornitura = '" & strFiltro & "'"
Tipo non corrispondente nell'espressione.
fatti un debug.print di strsql
copia il testo
e prova ad incollarlo direttamente in management studio di sql server
cosi vedi cosa ti sottolinea come sintatticamente errato

BFS
Sabrina Levanti
2021-10-28 15:41:50 UTC
Permalink
Post by BFS
Post by Sabrina Levanti
Post by BFS
Post by Sabrina Levanti
Salve,
Ho un database accdb (Access2019) collegato via ODBC a sql server
ho il seguente codice su un pulsante per accodare dei dati su una tabella
Private Sub Comando106_Click()
Dim strSQL As String
Dim NRec As Long
Dim strFiltro, strFiltro1 As String
strFiltro = Me!ID_Fornitura
strFiltro1 = Me!IDFornitore
'MsgBox strFiltro1
'MsgBox strFiltro
strSQL = "INSERT INTO [dbo_Dettagli ordini a fornitori] ( Peso_Ritiro, ID_Fornitura, Posizione, Descrizione, Quantità, Qta, Comm, Codice, COD_rada, UN, Prezzo, Prezzo1, [Tipo di prezzo], SCONTO, Sconto1, FORNITORE_PREFERENZIALE, [Prezzo di riferimento], Lavorazione )" & _
"SELECT dbo_Codici_PDM.PESO*dbo_DistintaMateriali_UT.Quantità AS Peso_Ritiro, [dbo_Ordine a fornitore].ID_Fornitura, dbo_DistintaMateriali_UT.Posizione, dbo_DistintaMateriali_UT.Descrizione+' - '+dbo_DistintaMateriali_UT.Dimensioni+' - '+dbo_DistintaMateriali_UT.Materiale AS Des, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.COMM, dbo_Codici_PDM.CODICE_COSTRUTTORE, dbo_DistintaMateriali_UT.ParticolareDWG, dbo_DistintaMateriali_UT.UN, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.[Tipo di prezzo], dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.FORNITORE_PREFERENZIALE, dbo_Codici_PDM.PREZZO_LISTINO, dbo_DistintaMateriali_UT.Finitura " & _
"FROM dbo_DistintaMateriali_UT, [dbo_Ordine a fornitore], dbo_Fornitori, dbo_Codici_PDM " & _
"WHERE dbo_Fornitori.IDFornitore = " & strFiltro1 & " AND(dbo_DistintaMateriali_UT.oRDINATA = 1) AND(dbo_DistintaMateriali_UT.oRDINATA_PRIMA=0) AND (dbo_DistintaMateriali_UT.RdO=FALSE) AND (dbo_DistintaMateriali_UT.Fornitore=dbo_Fornitori.NomeFornitore) AND([dbo_Ordine a fornitore].ID_RichiestaOfferta=dbo_DistintaMateriali_UT.COMM) AND (dbo_DistintaMateriali_UT.ParticolareDWG = dbo_Codici_PDM.DED_COD) AND [dbo_Ordine a fornitore].ID_Fornitura = " & strFiltro
MsgBox strSQL
CurrentProject.Connection.Execute strSQL, NRec
MsgBox "Numero record inseriti: " & NRec
Me.[Sottomaschera Dettagli ordini a fornitori].Form.Requery
End Sub
Grazie per l'aiuto
e forse anche questo ti crea probelmi
dbo_DistintaMateriali_UT.RdO=FALSE
prova con
dbo_DistintaMateriali_UT.RdO=0
BFS
Intanto grazie per la risposta, sono riuscita solo ora a provare ma non sembra essersi risolto!
strSQL = "INSERT INTO [dbo_Dettagli ordini a fornitori] ( Peso_Ritiro, ID_Fornitura, Posizione, Descrizione, Quantità, Qta, Comm, Codice, COD_rada, UN, Prezzo, Prezzo1, [Tipo di prezzo], SCONTO, Sconto1, FORNITORE_PREFERENZIALE, [Prezzo di riferimento], Lavorazione )" & _
"SELECT dbo_Codici_PDM.PESO*dbo_DistintaMateriali_UT.Quantità AS Peso_Ritiro, [dbo_Ordine a fornitore].ID_Fornitura, dbo_DistintaMateriali_UT.Posizione, dbo_DistintaMateriali_UT.Descrizione+' - '+dbo_DistintaMateriali_UT.Dimensioni+' - '+dbo_DistintaMateriali_UT.Materiale AS Des, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.Quantità, dbo_DistintaMateriali_UT.COMM, dbo_Codici_PDM.CODICE_COSTRUTTORE, dbo_DistintaMateriali_UT.ParticolareDWG, dbo_DistintaMateriali_UT.UN, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.PREZZO_LISTINO, dbo_Codici_PDM.[Tipo di prezzo], dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.SCONTO, dbo_Codici_PDM.FORNITORE_PREFERENZIALE, dbo_Codici_PDM.PREZZO_LISTINO, dbo_DistintaMateriali_UT.Finitura " & _
"FROM dbo_DistintaMateriali_UT, [dbo_Ordine a fornitore], dbo_Fornitori, dbo_Codici_PDM " & _
"WHERE dbo_Fornitori.IDFornitore ='" & strFiltro1 & "' AND(dbo_DistintaMateriali_UT.Ordinata = 1) AND (dbo_DistintaMateriali_UT.Ordinata_PRIMA=0) AND (dbo_DistintaMateriali_UT.RdO=0) AND (dbo_DistintaMateriali_UT.Fornitore=dbo_Fornitori.NomeFornitore) AND([dbo_Ordine a fornitore].ID_RichiestaOfferta=dbo_DistintaMateriali_UT.COMM) AND (dbo_DistintaMateriali_UT.ParticolareDWG = dbo_Codici_PDM.DED_COD) AND [dbo_Ordine a fornitore].ID_Fornitura = '" & strFiltro & "'"
Tipo non corrispondente nell'espressione.
fatti un debug.print di strsql
copia il testo
e prova ad incollarlo direttamente in management studio di sql server
cosi vedi cosa ti sottolinea come sintatticamente errato
BFS
Grazie di nuovo per la risposta.
Ho provato e in management studio non ho riscontrato problemi
qui riporto la query testata, non capisco sembra che quando vado a modificare i nomi tabella con i nomi dati via ODBC qualcosa si blocca (es. dbo.Codici_PDM con dbo_Codici_PDM)
ho provato anche inserendo manualmente strFiltro1=125 e strFiltro=3187 ma niente!

INSERT INTO dbo.[Dettagli ordini a fornitori] ( Peso_Ritiro, ID_Fornitura, Posizione, Descrizione, Quantità, Qta, Comm, Codice, COD_rada, UN, Prezzo, Prezzo1, [Tipo di prezzo], SCONTO, Sconto1, FORNITORE_PREFERENZIALE, [Prezzo di riferimento], Lavorazione )
SELECT dbo.Codici_PDM.PESO * dbo.DistintaMateriali_UT.Quantità AS Peso_Ritiro, dbo.[Ordine a fornitore].ID_Fornitura, dbo.DistintaMateriali_UT.Posizione, dbo.DistintaMateriali_UT.Descrizione+' - '+dbo.DistintaMateriali_UT.Dimensioni+' - '+dbo.DistintaMateriali_UT.Materiale AS Des, dbo.DistintaMateriali_UT.Quantità, dbo.DistintaMateriali_UT.Quantità, dbo.DistintaMateriali_UT.COMM, dbo.Codici_PDM.CODICE_COSTRUTTORE, dbo.DistintaMateriali_UT.ParticolareDWG, dbo.DistintaMateriali_UT.UN, dbo.Codici_PDM.PREZZO_LISTINO, dbo.Codici_PDM.PREZZO_LISTINO, dbo.Codici_PDM.[Tipo di prezzo], dbo.Codici_PDM.SCONTO, dbo.Codici_PDM.SCONTO, dbo.Codici_PDM.FORNITORE_PREFERENZIALE, dbo.Codici_PDM.PREZZO_LISTINO, dbo.DistintaMateriali_UT.Finitura
FROM dbo.DistintaMateriali_UT, dbo.[Ordine a fornitore], dbo.Fornitori, dbo.Codici_PDM
WHERE dbo.Fornitori.IDFornitore =125 AND(dbo.DistintaMateriali_UT.Ordinata = 1) AND (dbo.DistintaMateriali_UT.Ordinata_PRIMA=0) AND (dbo.DistintaMateriali_UT.RdO=0) AND (dbo.DistintaMateriali_UT.Fornitore=dbo.Fornitori.NomeFornitore) AND(dbo.[Ordine a fornitore].ID_RichiestaOfferta = dbo.DistintaMateriali_UT.COMM) AND (dbo.DistintaMateriali_UT.ParticolareDWG = dbo.Codici_PDM.DED_COD ) AND dbo.[Ordine a fornitore].ID_Fornitura = 3187
Sabrina Levanti
2021-10-29 14:17:44 UTC
Permalink
Post by Sabrina Levanti
Post by BFS
Post by Sabrina Levanti
Post by BFS
Post by Sabrina Levanti
Salve,
Ho un database accdb (Access2019) collegato via ODBC a sql server
ho il seguente codice su un pulsante per accodare dei dati su una tabella
Private Sub Comando106_Click()
Dim strSQL As String
Dim NRec As Long
Dim strFiltro, strFiltro1 As String
strFiltro = Me!ID_Fornitura
strFiltro1 = Me!IDFornitore
'MsgBox strFiltro1
'MsgBox strFiltro
strSQL = "INSERT INTO [dbo_Dettagli ordini a fornitori] ( Peso_Ritiro, ID_Fornitura, Posizione, Descrizione, Quantità, Qta, Comm, Codice, COD_rada, UN, Prezzo, Prezzo1, [Tipo di prezzo], SCONTO, Sconto1, FORNITORE_PREFERENZIALE, [Prezzo di riferimento], Lavorazione )" & _
"SELECT dbo_Codici_PDM.PESO*dbo_DistintaMateriali_UT.Quantità AS Peso_Ritiro, [dbo_Ordine a fornitore].ID_Fornitura, dbo_DistintaMateriali_UT.Posizione, dbo_DistintaMateriali_UT.Descrizione+' - '+dbo_DistintaMateriali_UT.Di