Newsgroup: it.comp.appl.access
Titolo: variabile e sql

Un saluto a tutti siamo ai capricci dell'sql
Ho questa rutine sul pulsante di una maschera avente dei controlli con
valori:
'Forms.Frm1.Tst22 = articoli.campo1
'Forms.Frm1.Tst23 = 5
'Forms.Frm1.Cmb1 = al32
'Forms.Frm1.Cmb2 = al56
Private Sub Comando70_Click()
Dim List, List1, List2, List3
List = Forms.Frm1.Tst22
List1 = Forms.Frm1.Cmb1
List2 = Forms.Frm1.Cmb2
List3=Forms.Frm1.Tst23
DoCmd.RunSQL "UPDATE articoli " & _
    "SET articoli.campo1 = " & List & " * "& List3 &" " & _
    "WHERE articoli.idarticolo = between "& List1 &" and  "& List2 &" ;"
Quello che vi chiedo :
1) è possibile passare questo sql
2) è possibile passare alla variabile List la stringa "articoli.campo1" come
un riferimento alla tabella articoli?
C'è qualcuno in grado di risolvere questo rompicapo? sono ore che ci provo
senza soluzione.
Grazie anticipatamente a chi mi sarà d'aiuto (anche parzialmente)
Ciao Marina

 Ciao Marina
mancano gli apici 
da come e' messa la cosa campo1 e' alfanumerico 
idarticolo non si sa (puo' essere o l'uno o l'altro, lo tratto numerico)
il ";" finale non serve
DoCmd.RunSQL "UPDATE articoli " & _
     "SET articoli.campo1 = '" & List & " * "& List3 &"' " & _
     "WHERE articoli.idarticolo = between "& List1 &" and  "& List2 
l'sql non fa capricci in genere fa casino
--
a.cara

 l'sql non fa capricci in genere fa casino
"manaccia"
 DoCmd.RunSQL "UPDATE articoli " & _
      "SET articoli.campo1 = '" & List & " * "& List3 &"' " & _
      "WHERE articoli.idarticolo  between "& List1 &" and  "& List2
 
= togliere,  mettere gli spazi sulle & 
--
a.cara

 a.cara
Il campo1 è un campo numerico della tabella articoli, praticamente come è
impostato l'sql se il
campo1=5
e
List3=Forms.Frm1.Tst23 = 5
con l'esecuzione del sql il campo1 della tabella articoli verrebbe
aggiornato a 25 (se tutto funziona) tralasciando il criterio di selezione.
Domanda  gli " e  Chr$(34) si è sempre sostenuto che sono la stessa cosa si
differenziavano solo per maggior chiarezza nel codice; non è vero infatti ho
provato una sostituzione in una rutine e da errore.
Grazie per la tua risposta
Ciao
Marina

"Marina F." ha scritto:

marina come fa ad essere numerico campo1?
quando fai
etc..  & List & " * "& List3 &  ...etc
ammettendo che list contenga 2 e list contenga 3
quello che ottieni e' 2*3, questo "non" e' un numero
 
chr 34 e " sono la stessa cosa  (cfr funzioni asc e chr su help) 
come "A" e chr(65) sono  la stessa cosa (sulla tastiera prova a fare
alt+34 e ti viene fuori sul video "
il chr(34) "non" si usa per maggiore chiarezza del codice 
il motivo e' un altro serve per non fare "interpretare" il carattere:
se tu volessi scrivere un " dovresti fare """" 
invece facendo chr(34) e' la stessa cosa di """"
(mah forse e' maggiore chiarezza del codice)
nel caso pero' tu voglia aggiungere un ritorno + un vai a nuova linea
(che sarebbe il ritorno a capo e cioe' il fine record in windows)
come fai?, praticamente impossibile
a meno che tu non scriva chr(13) & chr(10) (prova a fare il giochetto
con la tastiera e vedi che succede)
--
a.cara


Grazie sei stato Chiarissimo
Ciao Marina

 a.cara
List4 = Forms.Frm1.Cmb3 'casella combina con query sulla tab articoli
seleziona il fornitore
Grazie ai tuoi consigli ora funziona tutto benissimo questa è l'ultima riga
dell'sql e vorrei avere la possibilità che se l'utente non seleziona niente
nella Cmb3 cioè rimane vuota mi dovrebbe mostrare tutti i fornitori si può?
"articoli.Fornitore = " & List4 & ""
Ciao
Marina

 "articoli.Fornitore = " & List4 & ""
mah?! visto che la query la costruisci da codice ti consiglierei
Dim strSql as string
.......
strSQL = "UPDATE articoli " & _
    "SET articoli.campo1 = " & List &b List3 &" " & _
    "WHERE articoli.idarticolo = between "& List1 &" and  "& List2
strSQL = strSQL & iif(len("" & list4) = 0,""," and articoli.Fornitore =
" & List4)
DoCmd.RunSQL strSQL
--
a.cara

 
[cut]
P.S. In "campana" con gli apici se e' alfanumerico
--
a.cara

 ha scritto nel messaggio
news:3D9DF795...@blunet.it...

Non sarei mai riuscita senza il tuo aiuto.
Ho solo una parola per riassumere tutto,  sei Grande
Ciao
Marina

 ha scritto nel messaggio
news:3D9DF795...@blunet.it...

Non sarei mai riuscita senza il tuo aiuto.
