Macro con operatore "in"

di il
3 risposte

Macro con operatore "in"

Ciao a tutti.
Ho scritto il seguente codice in una macro ma mi compare un errore di compilazione in corrispondenza dell'operatore IN: "previsto separatore di elenco o )".
Dove sbaglio?

Sub Macro1()

Dim prov
Dim dbs As Database

Set dbs = CurrentDb

prov = "ba"
dbs.Execute ("INSERT INTO tabella1 (provincia) values (""" & IIf(prov in ("ba","ta","bat","le","br","fg"), "Puglia", "Altra regione") & """) ")

End Sub

3 Risposte

  • Re: Macro con operatore "in"

    Stai mescolando Operatori SQL con Istruzioni... sei sicuro di aver compreso le differenze...?
    Quello che vuoi fare si deve realizzare da VBA e passare alla Stringa SQL l'elaborato...!
    
    Dim strREG As String
    
    SELECT CASE Prov
       Case "ba","ta","bat","le","br","fg"
          strREG ="Puglia"
       Case Else
          strREG ="Altra Regione"
    End SELECT
    StrSQL="INSERT INTO tabella1 (provincia) values ('" & strREG & "')"
    Detto questo... la esegui... anche se scrivere "Puglia" nel campo Provincia lo trovo bizzarro...
  • Re: Macro con operatore "in"

    Grazie Alex, effettivamente mi sono reso conto dopo che stavo mischiando le due cose.
    Ti chiedo un'altra cosa: nel select/case si possono usare i caratteri jolly?
    Es.: SELECT CASE Prov
    Case "ba*","ta*"
  • Re: Macro con operatore "in"

    Usa
    
    If prov Like "ba*" Then
       ...
    ElseIf prov Like "Ca*" then
       ...
    End if
Devi accedere o registrarti per scrivere nel forum
3 risposte