Newsgroup: it.comp.appl.access
Titolo: SQL Punto e virgola Mancante run-time 3137

Buongiorno a tutti, ho la seguente istruzione SQL:
CurrentDb.Execute "Insert Into Ordini (Codice, Note) Values  ('" & Me!Codice 
& "', '" & Me!Note & "' ) Where Me!FlagOrdine = -1"
ma mi restituisce l'errore run.time 3137 " punto e virgola  mancante 
nell'struzione SQL"
I campi si trovano in una struttura a schede con sottomaschere.
Dov'è l'errore ?? Grazie 

 Dov'č l'errore ?? Grazie
Ciao Alan,
ho  l'impressione che l'errore sia nella condizione Where, lě ci va il nome 
di un campo tu invece metti il nome di una casella nella maschera...
probabilmente:
CurrentDb.Execute "Insert Into Ordini (Codice, Note) Values  ('" & Me!Codice
 & "', '" & Me!Note & "' ) Where  FlagOrdine = -1"
-- 
Cinzia [Office Access MVP]
_______________________
 
www.riolab.org
----------------------------------------> 

 ha scritto nel messaggio 
news:dqt9i.30143$%k.13...@twister2.libero.it...

Nel punto e virgola che dovrebbe chiudere l'istruzione:
CurrentDb.Execute "Insert Into Ordini (Codice, Note) Values  ('" & Me!Codice
& "', '" & Me!Note & "' ) Where Me!FlagOrdine = -1" & ";"
Ciao, Carlo

 ha scritto nel messaggio 
news:46666b9a$0$21197$5fc...@news.tiscali.it...

Grazie Cinzia, il campo FlagOrdne di tipo Si/No si trova nella sottomaschera 
dove sono Me!Codice e Me!note, (come origine dati ha un'istruzione sql) se 
elimino la condizione l'inserimento viene effettuato regolarmente, ma 
inserendo la condizione in oggetto mi restituisce lo stesso errore anche 
modificando la stringa con "where FlagOrdine = -1". 


Ho inserito la stringa
CurrentDb.Execute "Insert Into Ordini (Codice, Note) Values  ('" & Me!Codice 
& "', '" & Me!Note & "') Where Me!FlagOrdine = -1" & ";"
ma mi da lo stesso errore :((((

 ha scritto nel messaggio 
news:v8u9i.30078$U01.3...@twister1.libero.it...

Ciao Alan,
alt!  tu stai facendo una insert non un update la condizione Where in una 
insert non si puň mettere!


 insert non si puņ mettere!
Questa mi č nuova.
Questa istruzione non si potrebbe eseguire?
INSERT INTO Carico ( IDCarico )
SELECT 12345 AS Pippo
FROM CaricoDettagli
WHERE (((CaricoDettagli.IDDettCA)=70));
Ciao, Carlo 

 ha scritto nel messaggio 
news:46668581$0$16025$5fc...@news.tiscali.it...

Ok Grazie, ho modificato l'evento click del pulsante utilizzando il flag 
come conferma dell'ordine
   If Me!FlagOrdine = -1 Then
    CurrentDb.Execute "Insert Into Ordini ......"
   MsgBox "Ok"
    Else
        MsgBox "Attenzione devi confermare l'ordine"
    End If
ne approfitto per chiedere un'altra cosa:
la maschera si chiama ARTICOLI con i campi CodArt, Desc , nella maschera c'č 
una struttura a 3 schede, ognuna delle quali ha una sottomaschera DETTAGLI 
che apre 3 caratteristiche predefinite per CodArt  della machera principale. 
Nella Sottomaschera DETTAGLI c'č il pulsante per eseguire l'ordine.
Per fare l' INSERT dei campi della sottomaschera DETTAGLI nella tabella 
ORDINI, utilizzo Me!nomecampo, ma se volessi inserire anche alcuni campi 
della maschera Articoli ?? ho provato con Me!Articoli!CodArt, ma mi dice 
"necessario un oggetto"
hai qualche idea !!

 Ciao, Carlo
Ciao Carlo,
Si cosě ovviamente  la puoi fare, il Where  č nella SELECT,  ma nell'esempio 
di ALAN c'era una clausola Where direttamente nella Insert  senza nessuna 
select con i valori inseriti direttazmente con la clausola VALUES  in questo 
tipo di Insert la clausola Where č assolutamente priva di significato e 
dunque non ammessa, se sto inserendo un record in una tabella avendo i 
valori dei campi non ha nessun senso condizionare l'inserimento.



Ciao Alan,
se ho capito bene la situazione hai un bottone nella sottomaschera Dettagli 
che deve inserire un record nella tabella Ordini prelevando un valore dalla 
maschera Articoli.
Puoi usare: Forms!Articoli!CodArt  oppure me.Parent.Form.CodArt


 l'inserimento.
Solo ora leggo la risposta.
Ok, tutto chiaro.
Ciao, Carlo