Newsgroup: it.comp.appl.access
Titolo: Query crazione tabella con chiave primaria..........

Salve a tutti!
Ho cercato sul sitocomune ma non ho trovato nulla che spieghi se č possibile 
creare una tabella con chiave primaria da una query.
A proposito di query,,,,,,, č possibile farla eseguire dal comando
docmd.openquery"myquery"
continuando l'esecuzione ed ignorare ogni errore dopo, ovviamente, 
l'istruzione "docmd.setwarnings false" ?
Grazie anticipatamente.
Marco. 

 Marco.
Non dici troppe cose....!
La PK deve essere Counter...? Quanti Campi, quali campi...?
Create Table T1([id] COUNTER Primary KEY ,Field2 char(100))
Perchè la devi eseguire con OpenQuery quando hai il metodo Execute
membro dell'oggetto Database che fà quello che serve senza emettere
Warnings.....?
CurrentDb.Execute "Create Table T1([id] COUNTER Primary KEY ,[Field2]
char(100));"
Saluti
@Alex

 ha scritto nel messaggio 
news:1169848377.5...@l53g2000cwa.googlegroups.com...

Non dici troppe cose....!




Saluti
@Alex
Grazie Alex,
scusami, ho fatto un pò di confusione.
Quindi, riepilogando:
1. volendo creare una query creazione tabella con un solo campo di tipo 
numerico come chiave primaria.....come si fa.....in SQL??;
2. l'esecuzione di una query a fronte dell'evento "AfterUpdate" e inserendo 
"docmd.openquery" esiste il modo "Execute"??? come?
Grazie dell'attenzione.
Marco.

Grazie Alex,
ho in parte risolto.
Ti spiego, dettagliatamente, cosa voglio ottenere:
in pratica, mi serve sapere, da due campi diversi, quali, ad esempio, anni 
esistono. I campi interessati sono dei periodi di date
DataInizio e DataFine.
Può capitare che la DataInizio è 15.12.2005 e DataFine 15.01.2006. Volendo 
fare un raggruppamento sul campo DataInizio, otterrò l'anno 2005 e per la 
DataFine, invece, l'anno 2006. Ecco, io vorrei che questi due risultati, 
fossero in una solo colonna o campo che avrei creato magari con una "query 
di creazione tabella" ovviamente impostando, in questa nuova tabella, un 
solo campo, ad esempio, "anno", dichiarato come "ChiavePrimaria", così 
facendo, con altra query, magari di accodamento dati, non mi vada a ripetere 
gli anni esistenti in tabella man mano che inserisco dei periodi di date.
Al momento, ho colto il tuo autorevole suggerimento di usare 
"Currentdb.Excecute....." che funziona alla grande e, finalmente, senza più 
dover "raggirare" i "warnings" però può succedere, per sbaglio 
d'inserimento, che mentre digito la prima data su DataInizio, e dopo 
aggiornamento "scatta" l'esecuzione della query di aggiornamento e mi 
accorgo della data sbagliata che anzichè essere 2003 è 2004, la query, di 
accodamento, ha già prodotto il risultato anno 2003 che non mi serve.
Ecco perchè, subito dopo l'aggiornamento del controllo DataInizio, ho 
necessità di creare la tabella perchè la crea "ex novo" e non mi trovo più 
anni fasulli e solo dopo l'aggiornamento DataFine, eseguirà un query di 
accodamento. Bè, anche qui si potrebbe verificare, fino ad un nuovo 
inserimento della DataInizio, un probabile errato inserimento di data e mi 
ritrovereri come al problema precedente. Comunque, è già qualcosa, per il 
momento, risolverne almeno uno.
Spero sia stato abbastanza chiaro e ti ringrazio per la squisita attenzione.
Marco.

"Mark" <SPAM_NO_c...@yahoo.it_TOGLI_SPAM_NO> ha scritto nel messaggio 
news:45bb26ff$0$16193$4faf...@reader2.news.tin.it...

Ok, ho risolto.
In pratica ho creato una tabella "Anni"con un solo campo "anno" con chiave 
primaria.
Due query di accodamento, DataInizio e DataFine che vanno ad aggiornare la 
tabella Anni al campo Anno.
La necessità di creare la chiave numerica è quella che ogni volta che le 
query di accodamento vengono eseguite, non creeranno ripetizione di anni.
Prima di far eseguire le query di accodamento, è necessario eseguire una 
routine di cancellazione dei records della tabella Anni e a fronte 
dell'evento AfterUpdate di entrambi i controlli DataInizio e DataFine, si 
esegueno le istruzioni CancellaRecord e le due query di accodamento. In 
questo modo ho risolto anche il problema che se dovessi correggere una data 
per una errata digitazione, sia nel controllo DataInizio e sia in quella 
DataFine, non ci sarà pericolo di ritrovarsi qualche anno "fantasma". La 
stessa procedura, ovviamente, va richiamata sul pulsante di eliminazione 
record.
In questa maniera, anche se può sembrare "complicata", funziona alla grande.
Grazie a tutti per la cortese attenzione.
Marco.