Newsgroup: it.comp.appl.access
Titolo: Problemi con rowsource

ciao a tutti
 
in una maschera ho una casella combinata associata con questi codici
 
su dopo aggiornamento:
    If Len(Me!nGiorni & vbNullString) = 0 Then
        MsgBox "Devi iserire i giorni di consegna.", vbExclamation, "Attenzione!"
        Me!CboTraspVarie = ""
        Me!nGiorni.SetFocus
 
    End If
_______________
su modifica:
 
    Dim strSQL, strText, ChiaveRic As String
 
    strText = Me!CboTraspVarie.Text
    ChiaveRic = "TraspVarie Like '*" & Replace(strText, "'", "''") & "*'"
 
    strSQL = "SELECT " _
      & "'' AS IDTraspVarie, " _
      & "'' AS Presso, " _
      & "'' AS Indirizzo, " _
      & "'' AS Città, " _
      & "'' AS Telefono, " _
      & "'' AS Fax, " _
      & "'' AS Cellulare " _
      & "FROM TbTraspVarie " _
      & "UNION SELECT " _
      & "IDTraspVarie, " _
      & "TraspVarie, " _
      & "IndirizzoTraspVarie, " _
      & "CittàTraspVarie, " _
      & "TelefonoTraspVarie, " _
      & "FaxTraspVarie, " _
      & "CellulareTraspVarie " _
      & "FROM TbTraspVarie Where " & ChiaveRic _
      & "ORDER BY Presso"
 
    Me!CboTraspVarie.RowSource = strSQL
_______________
Ho due problemi;
 
il primo e' che non posso utilizzare
il setfocus per l'utilizzo di
Me!CboTraspVarie.Text
(con l'errore: "impossibile fare riferimento ad una proprietà o ad un metodo per un controllo a meno che non abbia lo stato attivo."
 
il secondo e' che non riesco ad aggiornare rowsource,
in quanto sotto la Combobox ho quattro caselle combinate
con origine
=[CboTraspVarie].[Column](2) ecc. ecc.
e solo al secondo tentativo mi mostrano i relativi dati.
Ho provato ad aggiungere 
Me.refresh
Me!CboTraspVarie.requery
ma ho errore.
 
Grazie per l aiuto


Il primo punto l ho risolto con if ecc. ecc.
Il secondo problema è dovuto dalla variabile "ChiaveRic"
che ralleta l'esecuzione della query.
chissa' se esiste una soluzione alternativa.
 
Grazie ancora

Il primo lo risolvi se usi correttamente la default property... VALUE e non text... non è Vb6 questo... è Access ed è Vba.
La 2° deve essere frutto di un qualche errore strutturale tuo...

 La 2° deve essere frutto di un qualche errore strutturale tuo...
 
Grazie Alex
ora riguardo il tutto


premetto:
come prima cosa ho tolto
il codice precedentemente inserito
in dopo aggiornamento della 
casella combinata "CboTraspVarie".
 
Poi....
volendo rimuovere il filtro: "ChiaveRic"
ho inserito su dopo aggiornamento della 
casella combinata "CboTraspVarie"
 
Me!CboTraspVarie=""
anzichè
Me!CboTraspVarie.RowSource = strSQL 
quesro per evitare di ricaricare di nuovo la query.
 
Pero' verificando con F8 ho degli errori
1-espressione digitata non corettamente o troppo complessa per essere valutatata ecc. ecc.
2-oggetto non valido o non impostato
 
Come posso fare per togliere il filtro senza dover
ricaricare l'SQL?
 
Grazie per l'aiuto

Ricarica la stringa SQL non complicarti le cose per NULLA, non è quì che si vede la tecnica...!
 
@Alex
 

 @Alex
 
Aggiungo...!
 
Le stringhe LUNGHE non si scrivono in quel modo...! Il VBA ha un limite di caratteri consecutivi...!
 
Quindi:
strSQL=vbNullstring
strSQL=strSQL & "SELECT ....."
strSQL=strSQL & "FROM...."
strSQL=strSQL & "INNER..."
strSQL=strSQL & "WHERE..."
strSQL=strSQL & "ORDER BY..."
 
@Alex


grazie Alex