Newsgroup: it.comp.appl.access
Titolo: SELECT con variabili

Spero mi possiate aiutare perchč sto diventando pazzo.
Ho questo comando:
varNomeTabella = InputBox(Prompt:="Inserire il nome della casa",
Title:="Aggiornamento listini")
    DoCmd.RunSQL "SELECT [produttori].[Sigla] INTO prova FROM produttori
WHERE ((([produttori].[Casa])="" & NomeTabella & ""))  ;"
quando mi genera la tabella prova č vuota, ma se io invece di fargli
prendere il valore dalla variabile NomeTabella lo inserisco a mano questo
funziona. Per intenderci se l'istrunzioen la faccio diventare:
varNomeTabella = InputBox(Prompt:="Inserire il nome della casa",
Title:="Aggiornamento listini")
    DoCmd.RunSQL "SELECT [produttori].[Sigla] INTO prova FROM produttori
WHERE ((([produttori].[Casa])="" quellochecerco ""))  ;"
quando mi genera la tabella prova trovo il valore corrisondente che sto
cercando.
Eppure se controllo il contenuto della variabile NomeTabella con la prima
soluzione mi da "quellochecerco"
Grazie a chi mi potrą aiutare
--
Scola Mario

 ha scritto nel messaggio
news:8TVNb.100271$VW.40...@news3.tin.it...

Ad occhi mi pare manchi il raddoppio degli apici (chr(34)) e la
concatenazione per l'utilizzo delle stringhe...!!!
DoCmd.RunSQL "SELECT [produttori].[Sigla] INTO prova FROM produttori
    WHERE ((([produttori].[Casa])=" & chr(34) & varNometabell & chr(34) &
"))  ;"
Ciao.
@Alex.

 ha scritto nel messaggio
news:8TVNb.100271$VW.40...@news3.tin.it...

Ciao, Mario.
    Io preferisco scrivere il codice nel modo seguente perche' mi sembra
piu' leggibile e soprattutto riesco a gestire meglio le modifiche al volo:
        Dim strNomeTabella As String ' Sembra invece che tu usi
                                     ' un Variant. Perche'?
        Dim sql            As String
        strNomeTabella = InputBox$(Prompt:="Inserire il nome della casa" _
          , Title:="Aggiornamento listini")
        sql = "SELECT"
        sql = sql & " [produttori].[Sigla]"
        sql = sql & " INTO"
        sql = sql & " prova"
        sql = sql & " FROM"
        sql = sql & " produttori"
        sql = sql & " WHERE"
        sql = sql & " [produttori].[Casa] ="
        sql = sql & " '" & strNomeTabella & "'"
        DoCmd.RunSQL sql
    Pero' il fatto che ci parli di *nome tabella* e che chiami la variabile
"varNomeTabella" fa venire un po' di dubbi su quali siano realmente le tue
intenzioni. Puoi darci qualche chiarimento in proposito? La mia ipotesi e'
che tu stia "riciclando" del codice senza sostituire i nomi delle variabili
con nomi corrispondenti allo scopo del codice. Poco male, questo non inficia
il "funzionamento" del codice ma lo rende... equivoco. :-)
-- 
    (Facci sapere se ed eventualmente come hai risolto. Grazie.)
Ciao :o)
Maurizio Borrelli, Microsoft MVP Access
--------
?SPQR(C)
 X
--------

 > Grazie a chi mi potrà aiutare


 Grazie Mario
Posta cortesemente la risposta dopo quella del Post precedente per fluidità
di lettura.
La concatenazione di stringhe è la sintassi per unire stringhe, fondamentale
per
generare una STRIMGA SQL come quella che hai cercato di fare...!
Posta il codice completo che stà dietro il CommandButton che vediamo insieme
quello.....!
@Alex.

 ha scritto nel messaggio
news:bubhs3$ejc$1...@lacerta.tiscalinet.it...

Grazie dopo alcuni tentativi ho risolto il problema in questo modo:
varNomeTabella = InputBox(Prompt:="Inserire il nome della casa",
Title:="Aggiornamento listini")
    DoCmd.RunSQL "SELECT produttori.Sigla INTO prova FROM produttori WHERE
(((produttori.Casa) = '" & varNomeTabella & "'));"
Ora nella tabella prova ritrovo il dato che mi serve.
Grazie ancora tutti
Mario Scola.

 ha scritto nel messaggio
news:ckLOb.141333$_P.51...@news4.tin.it...

Che è esattamente = a questo.... che ti avevo postato 3 post fà......!!!!!!!
DoCmd.RunSQL "SELECT [produttori].[Sigla] INTO prova FROM produttori
    WHERE ((([produttori].[Casa])=" & chr(34) & varNometabell & chr(34) &
"))  ;"
@Alex.