Newsgroup: it.comp.lang.visual-basic
Titolo: Aiutooooooo

Aiutatemi..... Devo scrivere una query di accodamendo con una proposizione
IN.
Ho scritto :stringa_query = "INSERT INTO temp (cod) [IN
C:\WINDOWS\Desktop\prova\arch_1.mdb ] select prova_1.cod from prova_1"
Dove Temp è la tabella a cui voglio aggiungere i record, arch_1 è il
database esterno da cui voglio copiare i record, prova_1 è la tabella del
database esterno e cod è il campo presente sia in temp che in prova_1
Mi da un errore di sintassi, credo che manchi qualche parentesi.
Ho provato persino ad aggiungere un paio di parentesi, qualche virgola e per
abbondare anche qualche punto alla fine della query.
Sperando che lei stessa (la query) si prendesse quella che gli serviva, non
c'e' stato nulla da fare.
Saluti, ringrazziamenti e Buon Natale da Antonio.

 ha scritto nel messaggio
news:f6eFb.28908$0w.14...@news2.tin.it...

Il percorso del database deve essere racchiuso tra singoli apici.
"INSERT INTO temp (cod) IN 'C:\WINDOWS\Desktop\prova\arch_1.mdb'
select prova_1.cod from prova_1"
Ciao Giorgio

[*Giorgio Prx* = 
giorgio...@nospamtiscalinet.it
 in
news:bs3sq3$gfv$
1...@lacerta.tiscalinet.it
] ha scritto:

Sinceramente non ho verificato, ma mi sembra alquanto strana.
Io, pur rinunciando al diktat di dover usare la proposizione IN (sperando
che non sia l'obbligo posto da un problema didattico) e partendo di eseguire
la query già appoggiato sul database di destinazione, scriverei così (non ho
provato):
Insert Into Temp Select * From C:\WINDOWS\Desktop\prova\arch_1.Prova_1
e, per usare in qualche modo la IN:
Insert Into Temp Select * From C:\WINDOWS\Desktop\prova\arch_1.Prova_1 Where
Cod IN (Select Cod From C:\WINDOWS\Desktop\prova\arch_1.Prova_1 Where
Cod>'T')


Ciao Lupo,
dall'help di Access
---------------------------------------------------------
Utilizzare la clausola IN nelle istruzioni SQL per identificare le tabelle
di qualsiasi database esterno al quale sia possibile connettersi, quale un
database di dBASE, di Paradox o di Microsoft Access diverso dal database
corrente.
Sintassi
Per identificare una tabella di destinazione:
[SELECT | INSERT] INTO destinazione IN
 {percorso | ["percorso" "prodotto"] | ["" [prodotto; DATABASE = percorso]]}
Per identificare una tabella di origine:
FROM espressionetabella IN
 {percorso | ["percorso" "prodotto"] | ["" [prodotto; DATABASE = percorso]]}
-------------------------------------------------------
Altra cosa è la condizione IN specificata nella clausola WHERE.
-------------------------------
IN
Determina se il valore specificato corrisponde a un valore in una subquery o
in un elenco.
Sintassi
test_expression [ NOT ] IN
    (
        subquery
        } | expression [ ,...n ]
    )
-------------------------------
Ciao Giorgio

 news:f6eFb.28908$0w.14...@news2.tin.it...
[CUT[
Precisazione..
Il mio esempio è indicativo solo per la sintassi e non per lo scopo.
Se la tabella di destinazione temp è nel DB esterno (come da tuo codice)
-----------------
"INSERT INTO temp (cod) IN 'C:\WINDOWS\Desktop\prova\arch_1.mdb'
select prova_1.cod from prova_1"
-----------------
Se invece la tabella temp è nel db corrente e Prova_1 è nel Db esterno
-----------------
"INSERT INTO temp (cod)
select cod from prova_1 IN 'C:\WINDOWS\Desktop\prova\arch_1.mdb'"
-----------------
Ciao Giorgio

 FROM espressionetabella IN  percorso...


Se la tabella Prova_1 č in formato testo delimitato con separatore di campo
;   e la prima riga contiene i nomi dei campi e il suo percorso č
C:\WINDOWS\Desktop\prova\prova_1.txt
---------------------------------------
INSERT INTO temp (cod)
SELECT cod
FROM   Prova_1#Txt
IN ''[Text;FMT=Delimited;HDR=YES;
DATABASE=C:\WINDOWS\Desktop\prova;TABLE=Prova_1#Txt];
---------------------------------------
Se la č in un file di Excel ed č definita con nome Prova_1 e il percorso del
file xls č C:\WINDOWS\Desktop\prova\arch_1.xls
--------------------------------------
INSERT INTO temp (cod)
SELECT cod
FROM   Prova_1
IN '' [Excel5.0;HDR=YES;
DATABASE=C:\WINDOWS\Desktop\prova\arch_1.xls;TABLE=Prova_1$];
--------------------------------------
La stessa sintassi puoi usarla anche con i db di Access
------------------------------------
INSERT INTO temp (cod)
SELECT cod
FROM   prova_1
IN '' [MS Access;DATABASE=C:\WINDOWS\Desktop\prova\arch_1.mdb];
------------------------------------
anche se le scorciatoie sono piů semplici
------------------------------
INSERT INTO temp (cod)
SELECT cod
FROM   prova_1
IN 'C:\WINDOWS\Desktop\prova\arch_1.mdb'
-----------------------------
o
------------------------------
INSERT INTO temp (cod)
SELECT cod
FROM   [C:\WINDOWS\Desktop\prova\arch_1.mdb].prova_1
-----------------------------
Ciao Giorgio

 > FROM espressionetabella IN  percorso...
Ciao Lupo,
Il sistema che utilizzi va benissimo č un riferimento implicito a un db
esterno di Access , la sintassi da manuale sarebbe
IN '' [MS Access;DATABASE=C:\WINDOWS\Desktop\prova\arch_1.mdb];
poi nell'evoluzione di Jet hanno implementato varie scorciatoie.
Ho solo fatto presente che esistono due tipi di  IN  :-).
Ciao Giorgio

 ha scritto nel messaggio
news:bs4lfh$327$1...@lacerta.tiscalinet.it...

E' tutto chiaro. Grazie a tutti.

 E' tutto chiaro. Grazie a tutti.
Ragazzi, quotiamo...

 ha scritto nel messaggio
news:bs6lb9$a7mhh$1...@ID-174464.news.uni-berlin.de...

Se vuoi ti mando la letterina di Natale.

[*Totono* = 
antonio...@tin.it
 in
news:8SUFb.28524$
wM.23...@news1.tin.it
] ha scritto:

E' Natale e mi limito ad augurarti una buona cura.
Fatti risentire quando sarai rinsavito.