Newsgroup: it.comp.appl.access
Titolo: dividere record

Cia a tutti.
Vi espondo il mio problema.
Ho una tabella così costituita
codice    prezzo     sconto     fam
ora i dati all'interno del campo codice sono così composti
089453245MO
012376548MO
003456735CR
029857643XX
00023456789
00000234986
00003339876
00233465988
00034527850
 ecc.
volevo dividere in due tabelle separate 
in una tabella tutti i record alfanumerici
089453245MO
012376548MO
003456735CR
029857643XX
in un'altra tutti i numerici
00023456789
00000234986
00003339876
00233465988
00034527850
Qualcuno ha un suggerimento?
grazie per l'aiuto
Calimero101

 ora i dati all'interno del campo codice sono cosě composti

puoi creare due query di creazione tabella
la prima con il campo  isNumeric(Codice)  criterio: -1 crea la tabella con i 
campi numeri,
la seconda con il campo  isNumeric(Codice) criterio: 0 crea la tabella con i 
campi alfanumerici
saluti
thomas.az
 

 
thomas.az
Grazie
Ho provato come hai detto e funziona.
Mi sono accorto solamente che nel caso il record sia cosě composto:
000345E7850
cioč con una lettera nel mezzo, la funzione me la mette nella tabella con i
campi numeri.
Ciao
Calimero101

 campi numeri.
VBA interpreta il numero da te esemplificato come 345*10^7850.
Occorre che tu ponga per il campo IsNumeric([Codice]) il criterio:
True And InStr(1,[Codice],"E")=0
anziché il solo True.
Bruno 



Ho provato a creare una query con un nuovo campo in questo modo
Cod_NUM:IsNumeric True And InStr(1,[Codice],"E")=0
ma mi da errore operatore mancante.
grazie
Calimero101

 Calimero101
-- 
-- 
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access


Non fai prima a postare la query?
-- 
Ciao
Geppo 



Ecco la query che non mi funziona
SELECT IVECO_OK.Codice, IVECO_OK.prezzo, IVECO_OK.Sconto,
IVECO_OK.famiglia,  IsNumeric([Codice])True And InStr(1,[Codice],"E")=0) AS
Cod_NUM
FROM IVECO_OK
WHERE (((IsNumeric([Codice]))=-1));
Calimero101

 Calimero101
SELECT IVECO_OK.Codice, IVECO_OK.prezzo, IVECO_OK.Sconto,
IVECO_OK.famiglia,  IsNumeric([Codice]) AS Cod_NUM
FROM IVECO_OK
WHERE (((IsNumeric([Codice]))=True) AND ((InStr(1,[Codice],"E"))=0));
Bruno


Provala cosi, io non ho riscontrato il problema del "000345E7850":
select iveco_ok.codice, iveco_ok.prezzo, iveco_ok.sconto, iveco_ok.famiglia
from iveco_ok
where (((isnumeric(iveco_ok.codice))=-1))
-- 
Ciao
Geppo

 Bruno
Perfetto ora con questa query riesco a creare una tabella contenente i soli
record numerici.
SELECT IVECO_OK.Codice, IVECO_OK.prezzo, IVECO_OK.Sconto,
IVECO_OK.famiglia,  IsNumeric([Codice]) AS Cod_NUM
FROM IVECO_OK
WHERE (((IsNumeric([Codice]))=True) AND ((InStr(1,[Codice],"E"))=0));
e con questa
SELECT IVECO_OK.Codice, IVECO_OK.prezzo, IVECO_OK.Sconto,
IVECO_OK.famiglia, IsNumeric([Codice]) AS CodTXT INTO IVECOcodTXT
FROM IVECO_OK
WHERE (((IsNumeric([Codice]))=0));
riesco a creare una tabella con dati testuali, dai quali pero mi manca
questo tipo di record
0000E16665404, è  possibile farlo rientrare in un'altra query di selezione?
inoltre dovrei riuscire a estrarre dalla tabella con i record di testo i
record di questo tipo dai quali dovrei poi togliere gli zeri a sinistra
000001715292A
000001677900E
000001708907C
P.S. : con la prima query se il record fosse 0000H16665404 dovrei
modificarla nella parte 
[Codice],"E"))=0))  con [Codice],"F"))=0)), ma è possibile inserire * per
indicare qualsiasi carattere?
grazie
Calimero101

 000001708907C
WHERE (((IsNumeric([Codice]))=False)) OR (((InStr(1,[Codice],"E"))>0));
Per gli zeri iniziali... passo la mano.
Bruno