Newsgroup: it.comp.appl.access
Titolo: Importare file pgn

ciao,
SERGIO MAZZA la settimana scorsa mi ha creato questo codice
Dim txtValore As String, rst As DAO.Recordset, a As Integer
Set rst = CurrentDb.OpenRecordset("importaPGN", dbOpenTable)
Open "c:\games.pgn" For Input As 1
    Do
        Line Input #1, txtValore
        If Left$(txtValore, 1) = "[" Then
            rst.AddNew
            rst!colonna1 = txtValore
            For a = 2 To 12
                Line Input #1, txtValore
                rst("colonna" & a) = txtValore
            Next
            rst.Update
        End If
    Loop Until EOF(1)
Close
rst.Close
Set rst = Nothing
In risposta ad una mia richiesta , che riporto  :
per importare i file pgn  ( file di testo che contengono la
notazione delle mosse effettuate in una partita di scacchi ):
esempio del contenuto di un file pgn :
[Event "New Jersey State Open Champion"]
[Site "?"]
[Date "1957.??.??"]
[Round "7"]
[White "Fischer, R."]
[Black "Sherwin, J."]
[Result "1-0"]
[ECO "B30"]
[PlyCount "65"]
[EventDate "1957.??.??"]
1. e4 c5 2. Nf3 e6 3. d3 Nc6 4. g3 Nf6 5. Bg2 Be7 6. O-O O-O 7. Nbd2 Rb8 8.
Re1 d6 9. c3 b6 [bella mossa] 10. d4 Qc7 11. e5 Nd5 12. exd6 Bxd6 13. Ne4 c4
14. Nxd6 Qxd6 15.
Ng5 Nce7 16. Qc2 Ng6 17. h4 Nf6 18. Nxh7 Nxh7 19. h5 Nh4 20. Bf4 Qd8
1-0
A me interessebbe importare in colonne separate  di una tabella access tutti
i dati contenuti
nelle parentesi quadre :
esempio
colonna A
[Event "New Jersey State Open Champion"]
colonna B
[Site "?"]
Facendo le prove con molti file pgn, ho notato che alcuni file pgn hanno 12
altri 14 o 16
righe che iniziano con le parentesi quadre, e cosa più sconvolgente è che a
volte
le parentesi quadre si trovano nel testo della partita, mandando così in
tilt il codice,
ora vi chiedo è possibile modificare il codice in maniera tale da importare
nella tabella
"importaPGN" solo è sempre 12 campi, ignorando quelli subito successivi (se
riferiti alla stessa partita)
e ignorando le parentesi quadre che dovesse incontrare nel testo delle parti
te.
mi scuso x la lunghezza.
Un esempio di file pgn, può essere scaricato qui :
attenzione è circa 6 mega :
http://hdisk64.altervista.org/download/games.zip
uno piccolo :
http://hdisk64.altervista.org/download/fisher0.pgn
grazie !
--
Highlands
Xakib...@yahoo.it
--
Remove X to email.

 Remove X to email.
Modifica la riga:
...
        If Left$(txtValore, 1) = "[" Then
...
in:
...
        If InStr(1, txtValore, "[Event") > 0 Then
...
Ciao.
-- 
Sergio MAZZA 

[CUT]
Ciao Sergino,
buon inizio di settimana :-) 

 buon inizio di settimana :-)
Grazie anche a te... E chiaramente, buona fine...
Ciao.
-- 
Sergio MAZZA 

 ...
        grazie ma un maledetto campo all'interno della stessa partita
        inizia con EventDate e manda in tilt il codice !
        ciao e ancora grazie !

 ha scritto nel messaggio
news:4381a...@x-privat.org...

            ho risolto aumentando a 14 le colonne della tabella !
            grazie mille !!!!
            ciao !

 ha scritto nel messaggio news:4381a...@x-privat.org...

Che significa? Hai alzato bandiera bianca?
Basterebbe che la stringa da cercare diventi:
If InStr(1, txtValore, "[Event ") > 0 Then
Cioč inserirgli uno spazio dopo la parola Event...
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
    Ciao !