13/12/2022 - oregon ha scritto:
A parte il fatto che dovresti usare i parametri (query parametriche), non capisco perché tu abbia difficoltà ad usare semplici variaibili
“… WHERE CampoNumerico = ” & variabile
“… WHERE CampoTesto = ‘” & variabile & “’”
“… WHERE CampoData = #” & variabile & “#”
Una query come quella indicata nel mio post:
“SELECT * FROM ArcCor WHERE Cod = '0' and (Dat1 is Null or Dat1 = '0')”
mi riesce difficile da scrivere nella maniera che mi hai indicato.
Se in luogo del valore ‘0’ vi fosse una variabile e se ho ben capito, dovrei scrivere qualcosa del genere:
"SELECT * FROM ArcCor WHERE Cod = " & var1 & " and (Dat1 is Null or Dat1 = " & var2 & ")"
e si complicherebbe ancora di più aggiungendo altre variabili.
Se, invece, vi fosse la possibilità di indicare le variabili alla maniere di MySql, l'istruzione sarebbe questa, molto più leggibile:
“SELECT * FROM ArcCor WHERE Cod = @var1 and (Dat1 is Null or Dat1 = @var2)”.
Se mi dici come fare per dichiarare le variabili e come inserirle nell'istruzione, mi fai cosa grata.
Mi fai cosa altrettanto grata se mi spieghi perché l'istruzione "SELECT * FROM ArcCor WHERE Cod = '0' and (Dat1 is Null or Dat1 = '0')") , che appare scritta correttamente, segnala “Errore di run-time ‘3464’ Tipi di dati non corrispondenti nell’espressione criterio”.
Grazie per l'aiuto che mi darai.