Newsgroup: it.comp.appl.access
Titolo: Problema instruzione delete

Ciao a tutti,
nella mia gestione ho la necessità di popolare una tabella in base al
numero di record che l'utente mi indica.
Io ho sviluppato la procedura, che riporto qui sotto, ma quando vado
ad eseguire l'sql di delete mi restituisce l'errore "Operazione non
valida".
La tabella si chiama TBCOPIE ed è formata da due campi, il primo
denominato NRPROGR è di tipo contatore e il secondo col nome DSGENER è
di tipo testo.
Ho anche provato a commentare l'istruzione di delete in modo tale che
esegua solo le insert, ma mi ritorna l'errore "Punto e virgola
mancante alla fine dell'istruzione SQL" anche se il punto e virgola
c'è.
Public Function NumeroRecord(panrrec As Integer)
Dim tbD As Recordset
Dim strSQL$
Dim Count As Integer
strSQL = "DELETE FROM TBCOPIE"
Set tbD = CurrentDb.OpenRecordset(strSQL)
Count = 1
Do Until (Count >= panretich)
    strSQL = "INSERT INTO TBCOPIE (DSGENER) VALUES (""" & Count & """)
FROM TBCOPIE;"
    Set tbD = CurrentDb.OpenRecordset(strSQL)
Loop
tbD.Close
End Function
Sapete dirmi di cosa si tratta?
Grazie mille a tutti

 ha scritto nel messaggio 
news:77dd9a65-d123-48f4...@f47g2000hsd.googlegroups.com...
Ciao a tutti,
nella mia gestione ho la necessità di popolare una tabella in base al
numero di record che l'utente mi indica.
Io ho sviluppato la procedura, che riporto qui sotto, ma quando vado
ad eseguire l'sql di delete mi restituisce l'errore "Operazione non
valida".
La tabella si chiama TBCOPIE ed è formata da due campi, il primo
denominato NRPROGR è di tipo contatore e il secondo col nome DSGENER è
di tipo testo.
Ho anche provato a commentare l'istruzione di delete in modo tale che
esegua solo le insert, ma mi ritorna l'errore "Punto e virgola
mancante alla fine dell'istruzione SQL" anche se il punto e virgola
c'è.
***********
Per eseguire un'istruzione SQL  devi usare il Metodo Execute come di seguito
prova con il codice di seguito modificato.
***********
Public Function NumeroRecord(panrrec As Integer)
Dim strSQL$
Dim Count As Integer
strSQL = "DELETE FROM TBCOPIE"
CurrentDb.Execute strSQL
Count = 1
Do Until (Count >= panretich)
    strSQL = "INSERT INTO TBCOPIE (DSGENER) VALUES (" & Count & ") FROM 
TBCOPIE"
    CurrentDb.Execute strSQL
Loop
End Function
ciao
Riccardo 

 ha scritto nel messaggionews:77dd9a65-d123-48f4...@f47g2000hsd.googlegroups.com...

Grazie mille Ricardo
in effetti era il comando execute, ma quando eseguo l'sql di insert mi
da ancora l'errore "Punto e virgola mancante alla fine dell'istruzione
SQL", ho provato con o senza punto e virgola ma non cambia nulla.
Cosa può essere?
Ciao e grazie!

 Riccardo
Grazie mille Ricardo
in effetti era il comando execute, ma quando eseguo l'sql di insert mi
da ancora l'errore "Punto e virgola mancante alla fine dell'istruzione
SQL", ho provato con o senza punto e virgola ma non cambia nulla.
Cosa può essere?
Ciao e grazie!
_______________
Non avevo visto bene l'istruzione.
Ma cosa vuoi fare con l'Insert Into?
questa istruzione funziona così:
INSERT INTO pippo ( Campo1 ) SELECT pippo1.Campo1 FROM pippo1;
ma da che sò io non puoi avere come FROM la stessa tabella; praticamente 
inserisci i valori di una tabella in un'altra.
Tu cosa devi fare? Dove ti indica l'utente il numero di record da inserire ? 
Cosa devi inserire? solo 1,2,3,4,5 ecc.?
ciao
Riccardo


Hai ragione ho dimenticato di togliere la parte del FROM
Senza funziona tutto perfettamente.
Ti ringrazio nuovamente.