PDA

View Full Version : problema particolare con access e/o Excel


russoge
19-05-2008, 09:52
Salve a tutti.
Il mio problema è questo:
Ho una tabella di access con 3 campi.
nel terzo campo ho inserito delle targhe di mezzi che corrispondono ad un codice riportato nella seconda colonna.
Cioè ad esempio la mia situazione è questa:

Id Codice Targhe
1 0001 cc444xx
2 0025 hh000cc fg789de
3 0142 hh000cc cc258df re478ds

ecc ecc.
Il mio problema è questo debboi trasporre i dati in modo che nella colonna 3(le targhe) mi diventino una per riga con questo risultato

Id Codice Targhe
1 0001 cc44xx
2 0025 hh000cc
3 0025 fg789de
4 0142 hh000cc
5 0142 cc258df
6 0142 re478ds
ecc ecc.
Si può fare qualcosa.
O in access oppure in excel???
Ciao e grazie in anticipo.

zuper
19-05-2008, 16:20
1- ma il terzo campo è una cella sola? oppure i dati che ci sono sono uno per cella?
2- esiste un massimo di valori nel terzo campo o possono essere infiniti?

russoge
19-05-2008, 18:32
Il terzo campo è uno solo.
Non c'è una quantità massima.
Può essere che ce ne sia 1, nessuna o centomila (citazione)
Per spittare potrei usare il carattere di spazio.
Ho cercato di farlo ma senza risultati

john_revelator
19-05-2008, 18:42
Prova così: esporta i tuoi record in un file di excel nel foglio1

Nella colonna A inserisci i codici e nella colonna B le targhe

Adesso copia questa macro


Sub normalizza2()
ThisWorkbook.Sheets("foglio2").Range("a:a").NumberFormat = "@"
j = 1
cont = 0
' devi modificare questo range. Se ad esempio hai 1000 righe il tuo range
' diventerà b1:b1000
For Each cella In Range("b1:b4")
vettore = Split(cella, " ")
For i = 0 To UBound(vettore)
cont = cont + 1
ThisWorkbook.Sheets("foglio2").Range("a" & cont).Value = Range("a" & j).Value
ThisWorkbook.Sheets("foglio2").Range("b" & cont).Value = vettore(i)
'MsgBox cont
'MsgBox Range("a" & j).Value
'MsgBox (vettore(i))

Next i
j = j + 1
Next cella
End Sub


Fammi sapere. :)