Newsgroup: it.comp.appl.access
Titolo: disporre i dati di una tabella con un solo campo in campi diversi

Ciao a tutti,invio di nuovo un problema,che avevo con una tabella, in
modo di avere un aiuto per trovare una soluzione.Ho una tabella con una
serie di record costituiti da un solo campo intervallati da un certo
numero di record con delle xxxxx.
Faccio un esempio con una tabella:
CAMPO 1
------------------|
Sign
Bianco Mario
C/o studio
Via Marini 67
00134 Roma
XXXXXXXXX
Giorgio Benedetti
Via Bianco 3
00100 Roma
XXXXXXXXXX
Tra i record con le xxxxx non ci sono un numero fisso
di Record: nell'intervallo costituito dalle xxxxx
ci possono essere tre o quattro records e così via.
Come si potrebbero riportare i dati dei vari record
intervallati dalle xxxxx in campi diversi della stessa
Tabella o in una altra tabella?
Esempio:"Sign" nel campo2 "Bianco Mario" nel campo3 etc. fino
alle xxxxx per poi trattare allo stesso modo gli altri dati dopo il
record con le xxxxx.
In modo di avere dei record con i vari dati in campi diversi.
Un saluto e un ringranziamento a tutti
Davide

 ha scritto nel messaggio news:1135760625....@g47g2000cwa.googlegroups.com...

[risposta]
Il problema non è leggere il file di testo che risolvi leggendo nell'help in linea (attivabile tramite ALT-F11, poi F1) le 
istruzioni Open, Input, Close; ma la variabilità dei contenuti.
Ossia la prima riga ha il "Sign" e la seconda il Nominativo (Cognome e Nome) quindi presumo tu voglia inserirli in due campi 
distinti: es. Titolo e Nominativo. Ma il secondo gruppo di informazioni non inizia come il primo creando confusione nell'inserimento 
dei dati, richiedendo poi un intervento manuale per risistemare tutto.
Forse una via d'uscita potrebbe essere quella di leggere tutto il gruppo dei dati fino alla riga XXXXX associandoli ad un array 
dinamico, contare gli elementi e se sono minori di 5 (escludendo la riga XXXX) scrivere i dati partendo dall'ultimo, il Cap e Città; 
augurandoci che l'ultima riga corrisponda sempre al Cap e Città...
Ciao.
-- 
Sergio MAZZA 

Ciao Sergio,
Se è possibile mi potresti fare un esempio pratico di come potrei
associare il gruppo di dati fino alle xxxxx ad un array dinamica e
contare gli elementi,per mettere il tutto in campi distinti.
Un saluto Davide

 ha scritto nel messaggio news:1135928399.2...@f14g2000cwb.googlegroups.com...
Ciao Sergio,
Se č possibile mi potresti fare un esempio pratico di come potrei
associare il gruppo di dati fino alle xxxxx ad un array dinamica e
contare gli elementi,per mettere il tutto in campi distinti.
Un saluto Davide
[risposta]
Eccolo; fa riferimento solo a 5 posizioni/campi (da 0 a 4) in tabella.
Es.
'---
Dim strRiga As String, strRigaFile As String, strArray() As String
Open "C:\Documenti\fileDiTesto.txt" For Input As 1
Dim oRst As New ADODB.Recordset, ciclo As Integer
oRst.Open "Tabella", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
Do
    Input #1, strRigaFile
    If InStr(1, strRigaFile, "XX") = 0 Then
        strRiga = strRiga & ";" & strRigaFile
    Else
        strArray = Split(Mid(strRiga, 2), ";")
        'Debug.Print strRiga
        oRst.AddNew
        If UBound(strArray) < 4 Then
            For a = 0 To UBound(strArray)
                oRst(4 - a) = strArray(UBound(strArray) - a)
            Next
        ElseIf UBound(strArray) = 4 Then
            For a = 0 To UBound(strArray)
                oRst(a) = strArray(a)
            Next
        End If
        oRst.Update
        Erase strArray
        strRiga = ""
    End If
Loop Until EOF(1)
oRst.Close
Set oRst = Nothing
Close 1
'---
Ciao.
-- 
Sergio MAZZA 

Ciao Sergio,
Ti ringrazio per la disponibilità,
la routine che mi hai proposto funziona,
riesce a mettere nella tabella i dati su campi diversi,come volevo io.
Un saluto e Buon anno
Davide

 ha scritto nel messaggio news:1136366393.8...@z14g2000cwz.googlegroups.com...

[risposta]
Buon anno anche a te...
Ciao.
-- 
Sergio MAZZA