Newsgroup: it.comp.appl.access
Titolo: AIUTO!!!!!!!! Rispondete vi prego :-((((

Ciao, scusate ma non riesco proprio a risolvere il problema, ho girato nel
sito comune, consultato il manuale di access, un manuale anche se non
ottimo di sql ma nulla...
Riporto sinteticamente il problema:
devo eseguire una query di creazione tabella che quindi preleva i valori
da un'altra tabella e li scrive in una nuova. il codice utilizzato è il
seguente:
Private Sub liquid_Click()
crit = "left([name],8)='liquid_'"
num = Format(DMax("mid([name],8)", "MSysobjects", crit) + 1, "0000")
sql_creatab = "select PrestRic.* INTO Liquid_" & num & " from PrestRic;"
DoCmd.RunSQL sql_creatab
End Sub
ho utilizzato questo codice, suggerito da antonio b., per fare in modo che
ogni volta che lo eseguo mi deve creare una tabella diversa del tipo:
liquid_0001; liquid_0002 etc. ma non funziona!! mi dice sempre di
cancellare la vecchia e crearla sempre con lo stesso nome, quindi non mi
crea lo storico che volevo creare io... vi supplico aiutatemi!!
per maggiori dettagli
http://new.newsland.it/nr/article/it.comp.appl.access/44429.html
Enzo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Riporto sinteticamente il problema:





se non ho capito male devi usare left([name],8) e non mid([name],8) poi
per qggiungere 1 devi ricavare le ultime 4 cifre con right([name],4)
ciao


 > Riporto sinteticamente il problema:







Ancora nulla mi chiede sempre di sovrascrivere la tab esistente, riporto
per intero il codice, con la query sql che utilizzo e con le correzioni
suggerite:
crit = "right([name],4)='liquid_'"
num = Format(DMax("left([name],8)", "MSysobjects", crit) + 1, "0000")
sql_creatab = "select PrestRic.* INTO Liquid_" & num & " from PrestRic;"
DoCmd.RunSQL sql_creatab
-- 



Visto che liquid_ è lungo 7 caratteri, invece di:
crit = "left([name],8)='liquid_'"
io proverei a scrivere:
crit = "left([name],7)='liquid_'"
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Roberto

Ora è cosi:
Private Sub liquid_Click()
crit = "left([name],7)='liquid_'"
num = Format(DMax("mid([name],8)", "MSysobjects", crit) + 1, "0")
sql_creatab = "select PrestRic.* INTO Liquid_" & num & " from PrestRic;"
DoCmd.RunSQL sql_creatab
End Sub
ma nulla :-(



Private Sub liquid_Click()
crit = "left([name],7)='liquid_'"
num = Format(DMax("right([name],4)", "MSysobjects", crit) + 1, "0000")
sql_creatab = "select PrestRic.* INTO Liquid_" & num & " from PrestRic;"
DoCmd.RunSQL sql_creatab
End Sub
ciao
--------------------------------
Inviato via 
http://usenet.libero.it

 Inviato via 
http://usenet.libero.it


num = Format(DMax("mid([name],8)", "MSysobjects", crit) + 1, "0")
al posto della riga sopra prova con:
num = Format(DMax("right([name],7)", "MSysobjects", crit) + 1, "0")
oppure
num = Format(DMax("mid([name],7)", "MSysobjects", crit) + 1, "0")
e vedi :)

 ha scritto nel messaggio
news:b88omg$tjk$1...@news.newsland.it...

E' normale che così non ti funzioni: al contrario di quanto hai fatto nel
tuo messaggio precedente dove avevi scritto:
num = Format(DMax("mid([name],8)", "MSysobjects", crit) + 1, "0000")
ora hai invece scritto:
num = Format(DMax("mid([name],8)", "MSysobjects", crit) + 1, "0")
avendo così definito che il numero progressivo è di un solo carattere, dopo
aver registrato la tabella liquid_10 (ovvero la decima tabella), ti viene
segnalato l'errore che lamenti.
Quindi elimina manualmente TUTTE le tabelle liquid_ che hai attualmente nel
database e usa il seguente codice VBA:
Private Sub liquid_Click()
Dim crit As String
Dim num As String
Dim sql_creatab As String
crit = "left([name],7)='liquid_'"
If IsNull(DMax("mid([name],8)", "MSysobjects", crit)) Then
    num = "0001"
Else
    num = Format(DMax("mid([name],8)", "MSysobjects", crit) + 1, "0000")
End If
sql_creatab = "select PrestRic.* INTO Liquid_" & num & " from PrestRic;"
DoCmd.RunSQL sql_creatab
End Sub
Anche con questo codice ricevrai l'errore, ma avverrà dopo che hai creato la
10.000° tabella liquid_ . ;-)


 Roberto

Grazie Roberto!! Finalmente abbiamo risolto! Grazie a tutto il NG!
