Un de mes développement contient une option de chargement d'un
fichier CSV au format ci-dessous:
004380N;002;00;001;0;LV;88,5
004380N;006;00;001;0;BU;26,9
004380N;012;00;001;0;SS;873,1
005150S;004;00;001;0;HM;109,7
005150S;006;00;001;0;HM;106,0
005150S;012;00;005;0;HM;6,5
Avec la totalité des fichiers traités à ce jour, tout se passe bien.
Par contre, avec celui ci-dessus, le premier champ de la première
ligne est considéré comme nul (alors que le second est bien vu comme
égal à 2)
Si je supprime les 2 premières lignes, la suite se passe bien pour
quelques lignes, puis le pb se reproduit.
J'ai vérifié avec un éditeur hexa qu'il n'y avait pas de caractères
cachés dans le fichier.....
Quelqu'un aurait il une idée?
Un de mes développement contient une option de chargement d'un
fichier CSV au format ci-dessous:
004380N;002;00;001;0;LV;88,5
004380N;006;00;001;0;BU;26,9
004380N;012;00;001;0;SS;873,1
005150S;004;00;001;0;HM;109,7
005150S;006;00;001;0;HM;106,0
005150S;012;00;005;0;HM;6,5
Avec la totalité des fichiers traités à ce jour, tout se passe bien.
Par contre, avec celui ci-dessus, le premier champ de la première
ligne est considéré comme nul (alors que le second est bien vu comme
égal à 2)
Si je supprime les 2 premières lignes, la suite se passe bien pour
quelques lignes, puis le pb se reproduit.
J'ai vérifié avec un éditeur hexa qu'il n'y avait pas de caractères
cachés dans le fichier.....
Quelqu'un aurait il une idée?
Un de mes développement contient une option de chargement d'un
fichier CSV au format ci-dessous:
004380N;002;00;001;0;LV;88,5
004380N;006;00;001;0;BU;26,9
004380N;012;00;001;0;SS;873,1
005150S;004;00;001;0;HM;109,7
005150S;006;00;001;0;HM;106,0
005150S;012;00;005;0;HM;6,5
Avec la totalité des fichiers traités à ce jour, tout se passe bien.
Par contre, avec celui ci-dessus, le premier champ de la première
ligne est considéré comme nul (alors que le second est bien vu comme
égal à 2)
Si je supprime les 2 premières lignes, la suite se passe bien pour
quelques lignes, puis le pb se reproduit.
J'ai vérifié avec un éditeur hexa qu'il n'y avait pas de caractères
cachés dans le fichier.....
Quelqu'un aurait il une idée?
Salutatoi Twitzig,
Tu as donc déclaré :
> Un de mes développement contient une option de chargement d'un
> fichier CSV au format ci-dessous:
>
> 004380N;002;00;001;0;LV;88,5
> 004380N;006;00;001;0;BU;26,9
> 004380N;012;00;001;0;SS;873,1
> 005150S;004;00;001;0;HM;109,7
> 005150S;006;00;001;0;HM;106,0
> 005150S;012;00;005;0;HM;6,5
>
> Avec la totalité des fichiers traités à ce jour, tout se passe bien.
> Par contre, avec celui ci-dessus, le premier champ de la première
> ligne est considéré comme nul (alors que le second est bien vu comme
> égal à 2)
> Si je supprime les 2 premières lignes, la suite se passe bien pour
> quelques lignes, puis le pb se reproduit.
>
> J'ai vérifié avec un éditeur hexa qu'il n'y avait pas de caractères
> cachés dans le fichier.....
>
> Quelqu'un aurait il une idée?
Ce serait plus facile à déboguer avec un extrait de ton code (décodage des
lignes)
--
Cordialement
Aski
AntiSpamEdit - Version 1.6.4 du 12/08/05
Aide de K9 en français
http://h.charlier.de.chily.perso.cegetel.net/
ou
http://h.dechily.free.fr/
Salutatoi Twitzig,
Tu as donc déclaré :
> Un de mes développement contient une option de chargement d'un
> fichier CSV au format ci-dessous:
>
> 004380N;002;00;001;0;LV;88,5
> 004380N;006;00;001;0;BU;26,9
> 004380N;012;00;001;0;SS;873,1
> 005150S;004;00;001;0;HM;109,7
> 005150S;006;00;001;0;HM;106,0
> 005150S;012;00;005;0;HM;6,5
>
> Avec la totalité des fichiers traités à ce jour, tout se passe bien.
> Par contre, avec celui ci-dessus, le premier champ de la première
> ligne est considéré comme nul (alors que le second est bien vu comme
> égal à 2)
> Si je supprime les 2 premières lignes, la suite se passe bien pour
> quelques lignes, puis le pb se reproduit.
>
> J'ai vérifié avec un éditeur hexa qu'il n'y avait pas de caractères
> cachés dans le fichier.....
>
> Quelqu'un aurait il une idée?
Ce serait plus facile à déboguer avec un extrait de ton code (décodage des
lignes)
--
Cordialement
Aski
AntiSpamEdit - Version 1.6.4 du 12/08/05
Aide de K9 en français
http://h.charlier.de.chily.perso.cegetel.net/
ou
http://h.dechily.free.fr/
Salutatoi Twitzig,
Tu as donc déclaré :
> Un de mes développement contient une option de chargement d'un
> fichier CSV au format ci-dessous:
>
> 004380N;002;00;001;0;LV;88,5
> 004380N;006;00;001;0;BU;26,9
> 004380N;012;00;001;0;SS;873,1
> 005150S;004;00;001;0;HM;109,7
> 005150S;006;00;001;0;HM;106,0
> 005150S;012;00;005;0;HM;6,5
>
> Avec la totalité des fichiers traités à ce jour, tout se passe bien.
> Par contre, avec celui ci-dessus, le premier champ de la première
> ligne est considéré comme nul (alors que le second est bien vu comme
> égal à 2)
> Si je supprime les 2 premières lignes, la suite se passe bien pour
> quelques lignes, puis le pb se reproduit.
>
> J'ai vérifié avec un éditeur hexa qu'il n'y avait pas de caractères
> cachés dans le fichier.....
>
> Quelqu'un aurait il une idée?
Ce serait plus facile à déboguer avec un extrait de ton code (décodage des
lignes)
--
Cordialement
Aski
AntiSpamEdit - Version 1.6.4 du 12/08/05
Aide de K9 en français
http://h.charlier.de.chily.perso.cegetel.net/
ou
http://h.dechily.free.fr/
Voilà l'extrait de code
Private Sub fnRepencours()
' Fonction mise à jour "repérage en cours" (intégration plans
AREP) Dim bdd As Database
Dim bddtxt As Database
Dim qdftxt As QueryDef
Dim rstlinked As Recordset
Dim rstsuivi As Recordset
Dim ch_sql As String
Dim UT_en_cours As String
Dim UT_precedent As String
Dim Date_jour As String
Dim chaine As String
Dim fic_ouvrir As String
Dim rep_ouvrir As String
Dim ficlong As Integer
Dim chainelong As Integer
Dim replong As Integer
Dim inttemp As Integer
Dim bat_en_cours As Integer
Dim bat_precedent As Integer
Dim bat_trouve As Integer
Dim nouveau As Integer
' Paramétrage du contrôle OPEN
cdlopen.Filter = "Listes des plans AREP (*.txt)|*.txt"
cdlopen.DialogTitle = "Chargement d'une liste de plans AREP"
cdlopen.FileName = ""
cdlopen.ShowOpen
chaine = cdlopen.FileName
' On vérifie si on doit continuer (si on a choisi un fichier)
If chaine = "" Then
Exit Sub
End If
fic_ouvrir = cdlopen.FileTitle
' Longueur du nom de fichier
ficlong = Len(fic_ouvrir)
' Longueur du nom avec répertoire
chainelong = Len(chaine)
' Longueur du nom de répertoire
replong = chainelong - ficlong
' Récupération du répertoire seul dans la chaine
rep_ouvrir = Left(chaine, (replong - 1))
chemin_base = GetSetting("Rarplus", "parametres", "Base", Default > "C:Program filesRarplusBase_init.mdb")
Set bdd = OpenDatabase(chemin_base)
' Ouverture fichier Excel comme autre base de données
Set bddtxt = OpenDatabase(rep_ouvrir, False, False, "Text;")
' Acces aux données
' Suppression extension
fic_ouvrir = Left(fic_ouvrir, (ficlong - 4))
ch_sql = "SELECT * FROM [" & fic_ouvrir & "#txt];"
Set qdftxt = bddtxt.CreateQueryDef("", _
ch_sql)
Set rstlinked = qdftxt.OpenRecordset(dbOpenSnapshot)
Set rstsuivi = bdd.OpenRecordset("SuiviAmiante")
' RAZ table mémo MAJ
bdd.Execute ("DELETE * FROM liste_maj;")
' Traitement des données
With rstlinked
.MoveFirst
' Lecture fichier
Do While Not .EOF
nouveau = 0
UT_en_cours = .Fields(0)=====> considéré comme nul
bat_en_cours = .Fields(1)=====> bien reconnu
"Aski" a écrit :Salutatoi Twitzig,
Tu as donc déclaré :Un de mes développement contient une option de chargement d'un
fichier CSV au format ci-dessous:
004380N;002;00;001;0;LV;88,5
004380N;006;00;001;0;BU;26,9
004380N;012;00;001;0;SS;873,1
005150S;004;00;001;0;HM;109,7
005150S;006;00;001;0;HM;106,0
005150S;012;00;005;0;HM;6,5
Avec la totalité des fichiers traités à ce jour, tout se passe bien.
Par contre, avec celui ci-dessus, le premier champ de la première
ligne est considéré comme nul (alors que le second est bien vu comme
égal à 2)
Si je supprime les 2 premières lignes, la suite se passe bien pour
quelques lignes, puis le pb se reproduit.
J'ai vérifié avec un éditeur hexa qu'il n'y avait pas de caractères
cachés dans le fichier.....
Quelqu'un aurait il une idée?
Ce serait plus facile à déboguer avec un extrait de ton code
(décodage des lignes)
--
Cordialement
Aski
AntiSpamEdit - Version 1.6.4 du 12/08/05
Aide de K9 en français
http://h.charlier.de.chily.perso.cegetel.net/
ou
http://h.dechily.free.fr/
Voilà l'extrait de code
Private Sub fnRepencours()
' Fonction mise à jour "repérage en cours" (intégration plans
AREP) Dim bdd As Database
Dim bddtxt As Database
Dim qdftxt As QueryDef
Dim rstlinked As Recordset
Dim rstsuivi As Recordset
Dim ch_sql As String
Dim UT_en_cours As String
Dim UT_precedent As String
Dim Date_jour As String
Dim chaine As String
Dim fic_ouvrir As String
Dim rep_ouvrir As String
Dim ficlong As Integer
Dim chainelong As Integer
Dim replong As Integer
Dim inttemp As Integer
Dim bat_en_cours As Integer
Dim bat_precedent As Integer
Dim bat_trouve As Integer
Dim nouveau As Integer
' Paramétrage du contrôle OPEN
cdlopen.Filter = "Listes des plans AREP (*.txt)|*.txt"
cdlopen.DialogTitle = "Chargement d'une liste de plans AREP"
cdlopen.FileName = ""
cdlopen.ShowOpen
chaine = cdlopen.FileName
' On vérifie si on doit continuer (si on a choisi un fichier)
If chaine = "" Then
Exit Sub
End If
fic_ouvrir = cdlopen.FileTitle
' Longueur du nom de fichier
ficlong = Len(fic_ouvrir)
' Longueur du nom avec répertoire
chainelong = Len(chaine)
' Longueur du nom de répertoire
replong = chainelong - ficlong
' Récupération du répertoire seul dans la chaine
rep_ouvrir = Left(chaine, (replong - 1))
chemin_base = GetSetting("Rarplus", "parametres", "Base", Default > "C:Program filesRarplusBase_init.mdb")
Set bdd = OpenDatabase(chemin_base)
' Ouverture fichier Excel comme autre base de données
Set bddtxt = OpenDatabase(rep_ouvrir, False, False, "Text;")
' Acces aux données
' Suppression extension
fic_ouvrir = Left(fic_ouvrir, (ficlong - 4))
ch_sql = "SELECT * FROM [" & fic_ouvrir & "#txt];"
Set qdftxt = bddtxt.CreateQueryDef("", _
ch_sql)
Set rstlinked = qdftxt.OpenRecordset(dbOpenSnapshot)
Set rstsuivi = bdd.OpenRecordset("SuiviAmiante")
' RAZ table mémo MAJ
bdd.Execute ("DELETE * FROM liste_maj;")
' Traitement des données
With rstlinked
.MoveFirst
' Lecture fichier
Do While Not .EOF
nouveau = 0
UT_en_cours = .Fields(0)=====> considéré comme nul
bat_en_cours = .Fields(1)=====> bien reconnu
"Aski" a écrit :
Salutatoi Twitzig,
Tu as donc déclaré :
Un de mes développement contient une option de chargement d'un
fichier CSV au format ci-dessous:
004380N;002;00;001;0;LV;88,5
004380N;006;00;001;0;BU;26,9
004380N;012;00;001;0;SS;873,1
005150S;004;00;001;0;HM;109,7
005150S;006;00;001;0;HM;106,0
005150S;012;00;005;0;HM;6,5
Avec la totalité des fichiers traités à ce jour, tout se passe bien.
Par contre, avec celui ci-dessus, le premier champ de la première
ligne est considéré comme nul (alors que le second est bien vu comme
égal à 2)
Si je supprime les 2 premières lignes, la suite se passe bien pour
quelques lignes, puis le pb se reproduit.
J'ai vérifié avec un éditeur hexa qu'il n'y avait pas de caractères
cachés dans le fichier.....
Quelqu'un aurait il une idée?
Ce serait plus facile à déboguer avec un extrait de ton code
(décodage des lignes)
--
Cordialement
Aski
AntiSpamEdit - Version 1.6.4 du 12/08/05
Aide de K9 en français
http://h.charlier.de.chily.perso.cegetel.net/
ou
http://h.dechily.free.fr/
Voilà l'extrait de code
Private Sub fnRepencours()
' Fonction mise à jour "repérage en cours" (intégration plans
AREP) Dim bdd As Database
Dim bddtxt As Database
Dim qdftxt As QueryDef
Dim rstlinked As Recordset
Dim rstsuivi As Recordset
Dim ch_sql As String
Dim UT_en_cours As String
Dim UT_precedent As String
Dim Date_jour As String
Dim chaine As String
Dim fic_ouvrir As String
Dim rep_ouvrir As String
Dim ficlong As Integer
Dim chainelong As Integer
Dim replong As Integer
Dim inttemp As Integer
Dim bat_en_cours As Integer
Dim bat_precedent As Integer
Dim bat_trouve As Integer
Dim nouveau As Integer
' Paramétrage du contrôle OPEN
cdlopen.Filter = "Listes des plans AREP (*.txt)|*.txt"
cdlopen.DialogTitle = "Chargement d'une liste de plans AREP"
cdlopen.FileName = ""
cdlopen.ShowOpen
chaine = cdlopen.FileName
' On vérifie si on doit continuer (si on a choisi un fichier)
If chaine = "" Then
Exit Sub
End If
fic_ouvrir = cdlopen.FileTitle
' Longueur du nom de fichier
ficlong = Len(fic_ouvrir)
' Longueur du nom avec répertoire
chainelong = Len(chaine)
' Longueur du nom de répertoire
replong = chainelong - ficlong
' Récupération du répertoire seul dans la chaine
rep_ouvrir = Left(chaine, (replong - 1))
chemin_base = GetSetting("Rarplus", "parametres", "Base", Default > "C:Program filesRarplusBase_init.mdb")
Set bdd = OpenDatabase(chemin_base)
' Ouverture fichier Excel comme autre base de données
Set bddtxt = OpenDatabase(rep_ouvrir, False, False, "Text;")
' Acces aux données
' Suppression extension
fic_ouvrir = Left(fic_ouvrir, (ficlong - 4))
ch_sql = "SELECT * FROM [" & fic_ouvrir & "#txt];"
Set qdftxt = bddtxt.CreateQueryDef("", _
ch_sql)
Set rstlinked = qdftxt.OpenRecordset(dbOpenSnapshot)
Set rstsuivi = bdd.OpenRecordset("SuiviAmiante")
' RAZ table mémo MAJ
bdd.Execute ("DELETE * FROM liste_maj;")
' Traitement des données
With rstlinked
.MoveFirst
' Lecture fichier
Do While Not .EOF
nouveau = 0
UT_en_cours = .Fields(0)=====> considéré comme nul
bat_en_cours = .Fields(1)=====> bien reconnu
"Aski" a écrit :Salutatoi Twitzig,
Tu as donc déclaré :Un de mes développement contient une option de chargement d'un
fichier CSV au format ci-dessous:
004380N;002;00;001;0;LV;88,5
004380N;006;00;001;0;BU;26,9
004380N;012;00;001;0;SS;873,1
005150S;004;00;001;0;HM;109,7
005150S;006;00;001;0;HM;106,0
005150S;012;00;005;0;HM;6,5
Avec la totalité des fichiers traités à ce jour, tout se passe bien.
Par contre, avec celui ci-dessus, le premier champ de la première
ligne est considéré comme nul (alors que le second est bien vu comme
égal à 2)
Si je supprime les 2 premières lignes, la suite se passe bien pour
quelques lignes, puis le pb se reproduit.
J'ai vérifié avec un éditeur hexa qu'il n'y avait pas de caractères
cachés dans le fichier.....
Quelqu'un aurait il une idée?
Ce serait plus facile à déboguer avec un extrait de ton code
(décodage des lignes)
--
Cordialement
Aski
AntiSpamEdit - Version 1.6.4 du 12/08/05
Aide de K9 en français
http://h.charlier.de.chily.perso.cegetel.net/
ou
http://h.dechily.free.fr/
Salutatoi Twitzig,
Désolé, mais je ne travaille pas avec les RecordSet.
J'aurais utilisé :
- Line Input pour lire chaque ligne
- InStr pour déterminer la^position des ';'
- Mid$() pour extraire les champs.
Peut-être d'autres, familiarisés avec les interrogations de BD, pourront
t'aider
Aski
Tu as donc déclaré :
> Voilà l'extrait de code
>
> Private Sub fnRepencours()
> ' Fonction mise à jour "repérage en cours" (intégration plans
> AREP) Dim bdd As Database
> Dim bddtxt As Database
> Dim qdftxt As QueryDef
> Dim rstlinked As Recordset
> Dim rstsuivi As Recordset
> Dim ch_sql As String
> Dim UT_en_cours As String
> Dim UT_precedent As String
> Dim Date_jour As String
> Dim chaine As String
> Dim fic_ouvrir As String
> Dim rep_ouvrir As String
> Dim ficlong As Integer
> Dim chainelong As Integer
> Dim replong As Integer
> Dim inttemp As Integer
> Dim bat_en_cours As Integer
> Dim bat_precedent As Integer
> Dim bat_trouve As Integer
> Dim nouveau As Integer
> ' Paramétrage du contrôle OPEN
> cdlopen.Filter = "Listes des plans AREP (*.txt)|*.txt"
> cdlopen.DialogTitle = "Chargement d'une liste de plans AREP"
> cdlopen.FileName = ""
> cdlopen.ShowOpen
> chaine = cdlopen.FileName
> ' On vérifie si on doit continuer (si on a choisi un fichier)
> If chaine = "" Then
> Exit Sub
> End If
> fic_ouvrir = cdlopen.FileTitle
> ' Longueur du nom de fichier
> ficlong = Len(fic_ouvrir)
> ' Longueur du nom avec répertoire
> chainelong = Len(chaine)
> ' Longueur du nom de répertoire
> replong = chainelong - ficlong
> ' Récupération du répertoire seul dans la chaine
> rep_ouvrir = Left(chaine, (replong - 1))
> chemin_base = GetSetting("Rarplus", "parametres", "Base", Default > > "C:Program filesRarplusBase_init.mdb")
> Set bdd = OpenDatabase(chemin_base)
> ' Ouverture fichier Excel comme autre base de données
> Set bddtxt = OpenDatabase(rep_ouvrir, False, False, "Text;")
> ' Acces aux données
> ' Suppression extension
> fic_ouvrir = Left(fic_ouvrir, (ficlong - 4))
> ch_sql = "SELECT * FROM [" & fic_ouvrir & "#txt];"
> Set qdftxt = bddtxt.CreateQueryDef("", _
> ch_sql)
> Set rstlinked = qdftxt.OpenRecordset(dbOpenSnapshot)
> Set rstsuivi = bdd.OpenRecordset("SuiviAmiante")
> ' RAZ table mémo MAJ
> bdd.Execute ("DELETE * FROM liste_maj;")
> ' Traitement des données
> With rstlinked
> .MoveFirst
> ' Lecture fichier
> Do While Not .EOF
> nouveau = 0
> UT_en_cours = .Fields(0)=====> considéré comme nul
> bat_en_cours = .Fields(1)=====> bien reconnu
>
> "Aski" a écrit :
>
>> Salutatoi Twitzig,
>>
>> Tu as donc déclaré :
>>
>>> Un de mes développement contient une option de chargement d'un
>>> fichier CSV au format ci-dessous:
>>>
>>> 004380N;002;00;001;0;LV;88,5
>>> 004380N;006;00;001;0;BU;26,9
>>> 004380N;012;00;001;0;SS;873,1
>>> 005150S;004;00;001;0;HM;109,7
>>> 005150S;006;00;001;0;HM;106,0
>>> 005150S;012;00;005;0;HM;6,5
>>>
>>> Avec la totalité des fichiers traités à ce jour, tout se passe bien.
>>> Par contre, avec celui ci-dessus, le premier champ de la première
>>> ligne est considéré comme nul (alors que le second est bien vu comme
>>> égal à 2)
>>> Si je supprime les 2 premières lignes, la suite se passe bien pour
>>> quelques lignes, puis le pb se reproduit.
>>>
>>> J'ai vérifié avec un éditeur hexa qu'il n'y avait pas de caractères
>>> cachés dans le fichier.....
>>>
>>> Quelqu'un aurait il une idée?
>>
>> Ce serait plus facile à déboguer avec un extrait de ton code
>> (décodage des lignes)
>>
>> --
>> Cordialement
>>
>> Aski
>>
>> AntiSpamEdit - Version 1.6.4 du 12/08/05
>> Aide de K9 en français
>> http://h.charlier.de.chily.perso.cegetel.net/
>> ou
>> http://h.dechily.free.fr/
Salutatoi Twitzig,
Désolé, mais je ne travaille pas avec les RecordSet.
J'aurais utilisé :
- Line Input pour lire chaque ligne
- InStr pour déterminer la^position des ';'
- Mid$() pour extraire les champs.
Peut-être d'autres, familiarisés avec les interrogations de BD, pourront
t'aider
Aski
Tu as donc déclaré :
> Voilà l'extrait de code
>
> Private Sub fnRepencours()
> ' Fonction mise à jour "repérage en cours" (intégration plans
> AREP) Dim bdd As Database
> Dim bddtxt As Database
> Dim qdftxt As QueryDef
> Dim rstlinked As Recordset
> Dim rstsuivi As Recordset
> Dim ch_sql As String
> Dim UT_en_cours As String
> Dim UT_precedent As String
> Dim Date_jour As String
> Dim chaine As String
> Dim fic_ouvrir As String
> Dim rep_ouvrir As String
> Dim ficlong As Integer
> Dim chainelong As Integer
> Dim replong As Integer
> Dim inttemp As Integer
> Dim bat_en_cours As Integer
> Dim bat_precedent As Integer
> Dim bat_trouve As Integer
> Dim nouveau As Integer
> ' Paramétrage du contrôle OPEN
> cdlopen.Filter = "Listes des plans AREP (*.txt)|*.txt"
> cdlopen.DialogTitle = "Chargement d'une liste de plans AREP"
> cdlopen.FileName = ""
> cdlopen.ShowOpen
> chaine = cdlopen.FileName
> ' On vérifie si on doit continuer (si on a choisi un fichier)
> If chaine = "" Then
> Exit Sub
> End If
> fic_ouvrir = cdlopen.FileTitle
> ' Longueur du nom de fichier
> ficlong = Len(fic_ouvrir)
> ' Longueur du nom avec répertoire
> chainelong = Len(chaine)
> ' Longueur du nom de répertoire
> replong = chainelong - ficlong
> ' Récupération du répertoire seul dans la chaine
> rep_ouvrir = Left(chaine, (replong - 1))
> chemin_base = GetSetting("Rarplus", "parametres", "Base", Default > > "C:Program filesRarplusBase_init.mdb")
> Set bdd = OpenDatabase(chemin_base)
> ' Ouverture fichier Excel comme autre base de données
> Set bddtxt = OpenDatabase(rep_ouvrir, False, False, "Text;")
> ' Acces aux données
> ' Suppression extension
> fic_ouvrir = Left(fic_ouvrir, (ficlong - 4))
> ch_sql = "SELECT * FROM [" & fic_ouvrir & "#txt];"
> Set qdftxt = bddtxt.CreateQueryDef("", _
> ch_sql)
> Set rstlinked = qdftxt.OpenRecordset(dbOpenSnapshot)
> Set rstsuivi = bdd.OpenRecordset("SuiviAmiante")
> ' RAZ table mémo MAJ
> bdd.Execute ("DELETE * FROM liste_maj;")
> ' Traitement des données
> With rstlinked
> .MoveFirst
> ' Lecture fichier
> Do While Not .EOF
> nouveau = 0
> UT_en_cours = .Fields(0)=====> considéré comme nul
> bat_en_cours = .Fields(1)=====> bien reconnu
>
> "Aski" a écrit :
>
>> Salutatoi Twitzig,
>>
>> Tu as donc déclaré :
>>
>>> Un de mes développement contient une option de chargement d'un
>>> fichier CSV au format ci-dessous:
>>>
>>> 004380N;002;00;001;0;LV;88,5
>>> 004380N;006;00;001;0;BU;26,9
>>> 004380N;012;00;001;0;SS;873,1
>>> 005150S;004;00;001;0;HM;109,7
>>> 005150S;006;00;001;0;HM;106,0
>>> 005150S;012;00;005;0;HM;6,5
>>>
>>> Avec la totalité des fichiers traités à ce jour, tout se passe bien.
>>> Par contre, avec celui ci-dessus, le premier champ de la première
>>> ligne est considéré comme nul (alors que le second est bien vu comme
>>> égal à 2)
>>> Si je supprime les 2 premières lignes, la suite se passe bien pour
>>> quelques lignes, puis le pb se reproduit.
>>>
>>> J'ai vérifié avec un éditeur hexa qu'il n'y avait pas de caractères
>>> cachés dans le fichier.....
>>>
>>> Quelqu'un aurait il une idée?
>>
>> Ce serait plus facile à déboguer avec un extrait de ton code
>> (décodage des lignes)
>>
>> --
>> Cordialement
>>
>> Aski
>>
>> AntiSpamEdit - Version 1.6.4 du 12/08/05
>> Aide de K9 en français
>> http://h.charlier.de.chily.perso.cegetel.net/
>> ou
>> http://h.dechily.free.fr/
Salutatoi Twitzig,
Désolé, mais je ne travaille pas avec les RecordSet.
J'aurais utilisé :
- Line Input pour lire chaque ligne
- InStr pour déterminer la^position des ';'
- Mid$() pour extraire les champs.
Peut-être d'autres, familiarisés avec les interrogations de BD, pourront
t'aider
Aski
Tu as donc déclaré :
> Voilà l'extrait de code
>
> Private Sub fnRepencours()
> ' Fonction mise à jour "repérage en cours" (intégration plans
> AREP) Dim bdd As Database
> Dim bddtxt As Database
> Dim qdftxt As QueryDef
> Dim rstlinked As Recordset
> Dim rstsuivi As Recordset
> Dim ch_sql As String
> Dim UT_en_cours As String
> Dim UT_precedent As String
> Dim Date_jour As String
> Dim chaine As String
> Dim fic_ouvrir As String
> Dim rep_ouvrir As String
> Dim ficlong As Integer
> Dim chainelong As Integer
> Dim replong As Integer
> Dim inttemp As Integer
> Dim bat_en_cours As Integer
> Dim bat_precedent As Integer
> Dim bat_trouve As Integer
> Dim nouveau As Integer
> ' Paramétrage du contrôle OPEN
> cdlopen.Filter = "Listes des plans AREP (*.txt)|*.txt"
> cdlopen.DialogTitle = "Chargement d'une liste de plans AREP"
> cdlopen.FileName = ""
> cdlopen.ShowOpen
> chaine = cdlopen.FileName
> ' On vérifie si on doit continuer (si on a choisi un fichier)
> If chaine = "" Then
> Exit Sub
> End If
> fic_ouvrir = cdlopen.FileTitle
> ' Longueur du nom de fichier
> ficlong = Len(fic_ouvrir)
> ' Longueur du nom avec répertoire
> chainelong = Len(chaine)
> ' Longueur du nom de répertoire
> replong = chainelong - ficlong
> ' Récupération du répertoire seul dans la chaine
> rep_ouvrir = Left(chaine, (replong - 1))
> chemin_base = GetSetting("Rarplus", "parametres", "Base", Default > > "C:Program filesRarplusBase_init.mdb")
> Set bdd = OpenDatabase(chemin_base)
> ' Ouverture fichier Excel comme autre base de données
> Set bddtxt = OpenDatabase(rep_ouvrir, False, False, "Text;")
> ' Acces aux données
> ' Suppression extension
> fic_ouvrir = Left(fic_ouvrir, (ficlong - 4))
> ch_sql = "SELECT * FROM [" & fic_ouvrir & "#txt];"
> Set qdftxt = bddtxt.CreateQueryDef("", _
> ch_sql)
> Set rstlinked = qdftxt.OpenRecordset(dbOpenSnapshot)
> Set rstsuivi = bdd.OpenRecordset("SuiviAmiante")
> ' RAZ table mémo MAJ
> bdd.Execute ("DELETE * FROM liste_maj;")
> ' Traitement des données
> With rstlinked
> .MoveFirst
> ' Lecture fichier
> Do While Not .EOF
> nouveau = 0
> UT_en_cours = .Fields(0)=====> considéré comme nul
> bat_en_cours = .Fields(1)=====> bien reconnu
>
> "Aski" a écrit :
>
>> Salutatoi Twitzig,
>>
>> Tu as donc déclaré :
>>
>>> Un de mes développement contient une option de chargement d'un
>>> fichier CSV au format ci-dessous:
>>>
>>> 004380N;002;00;001;0;LV;88,5
>>> 004380N;006;00;001;0;BU;26,9
>>> 004380N;012;00;001;0;SS;873,1
>>> 005150S;004;00;001;0;HM;109,7
>>> 005150S;006;00;001;0;HM;106,0
>>> 005150S;012;00;005;0;HM;6,5
>>>
>>> Avec la totalité des fichiers traités à ce jour, tout se passe bien.
>>> Par contre, avec celui ci-dessus, le premier champ de la première
>>> ligne est considéré comme nul (alors que le second est bien vu comme
>>> égal à 2)
>>> Si je supprime les 2 premières lignes, la suite se passe bien pour
>>> quelques lignes, puis le pb se reproduit.
>>>
>>> J'ai vérifié avec un éditeur hexa qu'il n'y avait pas de caractères
>>> cachés dans le fichier.....
>>>
>>> Quelqu'un aurait il une idée?
>>
>> Ce serait plus facile à déboguer avec un extrait de ton code
>> (décodage des lignes)
>>
>> --
>> Cordialement
>>
>> Aski
>>
>> AntiSpamEdit - Version 1.6.4 du 12/08/05
>> Aide de K9 en français
>> http://h.charlier.de.chily.perso.cegetel.net/
>> ou
>> http://h.dechily.free.fr/
Salut,
Tu déclares quoi comme références ?
J'ai justement posé une question il y a quelques jours pour pouvoir
ouvrir un fichier texte avec un contrôle Data, ce qui rejoint
l'instruction d'ouverture de base avec le format "Text;", je n'ai pas eu
de réponse. J'ai l'erreur 3343, format de base de données non reconnu.
Au demeurant tu gagnerais probablement en lisibilité du code en rejetant
la fonction de sélection de fichier dans un autre module, mais ça c'est
une autre question.
Salut,
Tu déclares quoi comme références ?
J'ai justement posé une question il y a quelques jours pour pouvoir
ouvrir un fichier texte avec un contrôle Data, ce qui rejoint
l'instruction d'ouverture de base avec le format "Text;", je n'ai pas eu
de réponse. J'ai l'erreur 3343, format de base de données non reconnu.
Au demeurant tu gagnerais probablement en lisibilité du code en rejetant
la fonction de sélection de fichier dans un autre module, mais ça c'est
une autre question.
Salut,
Tu déclares quoi comme références ?
J'ai justement posé une question il y a quelques jours pour pouvoir
ouvrir un fichier texte avec un contrôle Data, ce qui rejoint
l'instruction d'ouverture de base avec le format "Text;", je n'ai pas eu
de réponse. J'ai l'erreur 3343, format de base de données non reconnu.
Au demeurant tu gagnerais probablement en lisibilité du code en rejetant
la fonction de sélection de fichier dans un autre module, mais ça c'est
une autre question.
Set db = OpenDatabase("c:", False, False, "Text;")
Set db = OpenDatabase("c:", False, False, "Text;")
Set db = OpenDatabase("c:", False, False, "Text;")