Funzione select

di il
8 risposte

Funzione select

La variabile Par1 può contenere numeri da 1 a 10 ma nella "SELECT" non funziona, se la sostituisco con 1 o con un altro numero da 1 a 10 funziona
dove sbaglio??
Dim rstTurno2 As DAO.Recordset
Dim rsqFeriali As DAO.Recordset
Dim RecC As Integer
Dim PersID As Integer
Dim Gset As String
Dim Par1 As Integer
Par1 = Me.CasellaCombinata18


Set rstTurno2 = CurrentDb.OpenRecordset("SELECT * FROM Turno2 WHERE TipoGiorno = 'NoR' And TipoServ = Par1 ORDER BY DataTurno")
Set rsqFeriali = CurrentDb.OpenRecordset("SelGDGFeriali", dbOpenDynaset)

rsqFeriali.MoveLast
rsqFeriali.MoveFirst

RecC = rsqFeriali.RecordCount


For i = 1 To RecC


With rstTurno2
.Edit
!Persoanle = rsqFeriali("IDpers")
.Update
End With

rstTurno2.MoveNext
rsqFeriali.MoveNext

Next i

8 Risposte

  • Re: Funzione select

    Par1 non va scritta all'interno della stringa ma devii concatenare le parti

    https://wellsr.com/vba/2018/excel/vba-concatenate-strings-with-ampersand/

    " & Par1 & " ORDER
  • Re: Funzione select

    Grazie della risposta, ho provato ora ma mi da sempre lo stesso errore:
    "Paramatri insufficienti. Previsto 1"
  • Re: Funzione select

    Hai controllato che Par1 contenga effettivamente un dato oppure sia vuoto?

    TipoServ è un campo numerico o testo?

    Mostri il codice modificato?
  • Re: Funzione select

    TipoServ è un campo numerico In questo momento contiene valori da 1 a 4 estremi compresi

    Set rstTurno2 = CurrentDb.OpenRecordset("SELECT * FROM Turno2 WHERE TipoGiorno = 'NoR' And TipoServ = " & Par1 & " ORDER BY DataTurno")
  • Re: Funzione select

    Ho provato ad eliminare la seconda condizione "And TipoServ = " & Par1 & " ma mi da lo stesso problema? inizialmente funzionava poi ho modificato la stringa e la Query "rsqFeriali" aggiungendo campi da altre tabelle per avere un ordinamento migliore.
  • Re: Funzione select

    Il problema è la query di selezione deve filtrare dei dati in base ad una casella combinata nella maschera. Se sostituisco il comando "[Forms]![Maschera1]![CasellaCombinata18]" con il il numero che mi interessa funziona bene. Eppure se lancio la query funziona correttamente ma quando carica i dati nel RecordSet genera l'errore non capisco?
  • Re: Funzione select

    TipoGiorno esiste? E DataTurno?

    E soprattutto hai controllato il contenuto di Par1 ?
  • Re: Funzione select

    La select cn la correzione che mi hai suggerito funziona ora funziona non questa:
    Set rsqFeriali = CurrentDb.OpenRecordset("SelGDGFeriali", dbOpenDynaset)

    "SelGDGFeriali" è una query che filtra dei record in base ad un campo "CasellaCombinata" contenuta nella maschera. Se elimino "[Forms]![Maschera1]![CasellaCombinata18]" e metto io il numero richiesto non mi da errore. Eppure la query funziona correttamente se la lancio filtra i campi in base alla cesella combinata. Sembra che select non accetta o non esegue il comando "[Forms]![Maschera1]![CasellaCombinata18]".Non Capisco?
Devi accedere o registrarti per scrivere nel forum
8 risposte