Access 97 & CSV

Le
Robert
Bonjour
Sous access 97 j'aimerai lier un fichier csv sans passer par des
reconversions un simple LINK. Normalement cela marche sans problème or
avec différents fichiers CSV j'ai le problème qu'on dirait que access ne
reconnait pas le retour chariot et me tappe toutes les données dans 1 seule
ligne.
Qn a -t-il une idée ce que je pourrai faire ?
Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Raymond [mvp]
Le #6352771
bonjour.

1ere idée, vérifier la présence des codes de fin de ligne, il est toujours
préférable d'avoir le CrLf (0D0A) pour access.

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"Robert"
| Bonjour
| Sous access 97 j'aimerai lier un fichier csv sans passer par des
| reconversions ... un simple LINK. Normalement cela marche sans problème or
| avec différents fichiers CSV j'ai le problème qu'on dirait que access ne
| reconnait pas le retour chariot et me tappe toutes les données dans 1
seule
| ligne.
| Qn a -t-il une idée ce que je pourrai faire ?
| Merci
Robert
Le #6352391
Merci pour ton message
Le problème c'est que le fichier est livré telquel et je ne vois pas comment
le convertir automatiquement, j'ai essayé l'import via excel 2003 cela
fonctionne ainsi que sous access 2003 aussi. J'avais pensé créer un mde en
A2003 pour créer un fichier excel97 pour l'import dans l'application A97.
Mais là le problème réside que je ne peux appeler dans A97 une mde A2003 ...
J'ai aussi essayé l'import en changenat simplement l'extension csv en txt ;
bref c identique. Effectivement je pense que le code fin de ligne n'est pas
complet.


bonjour.

1ere idée, vérifier la présence des codes de fin de ligne, il est toujours
préférable d'avoir le CrLf (0D0A) pour access.

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"Robert"
| Bonjour
| Sous access 97 j'aimerai lier un fichier csv sans passer par des
| reconversions ... un simple LINK. Normalement cela marche sans problème or
| avec différents fichiers CSV j'ai le problème qu'on dirait que access ne
| reconnait pas le retour chariot et me tappe toutes les données dans 1
seule
| ligne.
| Qn a -t-il une idée ce que je pourrai faire ?
| Merci





Raymond [mvp]
Le #6352381
Bonjour.

Est-ce une liaison à faire très souvent ou est-ce à faire tous les 8 jours ?
le fichier est-il léger ou lourd ?
Si le fichier est léger, il reste la possibilité de lire le csv en texte
dans un mémo et le réécrire ce qui replacerait les bons codes.

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"Robert"
| Merci pour ton message
| Le problème c'est que le fichier est livré telquel et je ne vois pas
comment
| le convertir automatiquement, j'ai essayé l'import via excel 2003 cela
| fonctionne ainsi que sous access 2003 aussi. J'avais pensé créer un mde en
| A2003 pour créer un fichier excel97 pour l'import dans l'application A97.
| Mais là le problème réside que je ne peux appeler dans A97 une mde A2003
...
| J'ai aussi essayé l'import en changenat simplement l'extension csv en txt
;
| bref c identique. Effectivement je pense que le code fin de ligne n'est
pas
| complet.
Robert
Le #6352331
C un fichier journalier
Après vérification il manque le CHR(13)
J'ai essayé ceci mais il semble y avoir un petit problème

Dim RightEnd, FalseEnd, txtas, txtas2 As String
Dim vntLines As Variant
Dim lngIndex, lngIndex2 As Long

RightEnd = Chr(13) & Chr(10)
FalseEnd = Chr(10)
txtas = Chr(34) & Chr(34)
txtas2 = Chr(34)

Dim my_string As String

Open "C:Documents and Settingsm535745Desktopimport.csv" For Input As
#1
Open "C:Documents and Settingsm535745Desktoptest.csv" For Output As #2

While Not EOF(1)
Line Input #1, my_string

my_string = replace(my_string, FalseEnd, RightEnd)
my_string = replace(my_string, txtas, txtas2)

Write #2, my_string
Wend

Close #1
Close #2



Je ne pense pas qu'il fasse les replace et en plus il me met des doubles ""
à la place des " d'origine, d'où l'idée du replace chr(34) mais sans
succès... or la fonction replace fonctionne autrement



Bonjour.

Est-ce une liaison à faire très souvent ou est-ce à faire tous les 8 jours ?
le fichier est-il léger ou lourd ?
Si le fichier est léger, il reste la possibilité de lire le csv en texte
dans un mémo et le réécrire ce qui replacerait les bons codes.

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"Robert"
| Merci pour ton message
| Le problème c'est que le fichier est livré telquel et je ne vois pas
comment
| le convertir automatiquement, j'ai essayé l'import via excel 2003 cela
| fonctionne ainsi que sous access 2003 aussi. J'avais pensé créer un mde en
| A2003 pour créer un fichier excel97 pour l'import dans l'application A97.
| Mais là le problème réside que je ne peux appeler dans A97 une mde A2003
....
| J'ai aussi essayé l'import en changenat simplement l'extension csv en txt
;
| bref c identique. Effectivement je pense que le code fin de ligne n'est
pas
| complet.





Raymond [mvp]
Le #6352291
Replace a été introduit en version 2000 et n'est pas d'origine sur 97. en
97, c'est une fonction spéciale écrite en vba et disponible sur beaucoup de
sites. c'est là qu'il doit y avoir un problème.

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"Robert"
|C un fichier journalier
| Après vérification il manque le CHR(13)
| J'ai essayé ceci mais il semble y avoir un petit problème
|
| Dim RightEnd, FalseEnd, txtas, txtas2 As String
| Dim vntLines As Variant
| Dim lngIndex, lngIndex2 As Long
|
| RightEnd = Chr(13) & Chr(10)
| FalseEnd = Chr(10)
| txtas = Chr(34) & Chr(34)
| txtas2 = Chr(34)
|
| Dim my_string As String
|
| Open "C:Documents and Settingsm535745Desktopimport.csv" For Input
As
| #1
| Open "C:Documents and Settingsm535745Desktoptest.csv" For Output As
#2
|
| While Not EOF(1)
| Line Input #1, my_string
|
| my_string = replace(my_string, FalseEnd, RightEnd)
| my_string = replace(my_string, txtas, txtas2)
|
| Write #2, my_string
| Wend
|
| Close #1
| Close #2
|
|
|
| Je ne pense pas qu'il fasse les replace et en plus il me met des doubles
""
| à la place des " d'origine, d'où l'idée du replace chr(34) mais sans
| succès... or la fonction replace fonctionne autrement
|
Robert
Le #6352251
J'utilise cette fonction :

Public Function replace(ByVal strSearchIn As String, ByVal strChar, ByVal
strChar2) As String

' purpose: replace a character or text in a text (this function is
standard in A2K and up)
'
' parameters: strChar is the character/text wanted to be replaced;
' strSearchIn is the text in which we count serached
character/text
' strChar2 is the character/text to use;
'
' returns: string / on error returns original string

Dim intCounter As Integer

On Error GoTo replace_Err

For intCounter = 1 To Len(strSearchIn)
If Mid$(strSearchIn, intCounter, 1) = strChar Then
replace = replace & strChar2
Else
replace = replace & Mid$(strSearchIn, intCounter, 1)
End If
Next intCounter

replace_Exit:
Exit Function

replace_Err:
replace = strSearchIn
Resume replace_Exit

End Function



Replace a été introduit en version 2000 et n'est pas d'origine sur 97. en
97, c'est une fonction spéciale écrite en vba et disponible sur beaucoup de
sites. c'est là qu'il doit y avoir un problème.

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"Robert"
|C un fichier journalier
| Après vérification il manque le CHR(13)
| J'ai essayé ceci mais il semble y avoir un petit problème
|
| Dim RightEnd, FalseEnd, txtas, txtas2 As String
| Dim vntLines As Variant
| Dim lngIndex, lngIndex2 As Long
|
| RightEnd = Chr(13) & Chr(10)
| FalseEnd = Chr(10)
| txtas = Chr(34) & Chr(34)
| txtas2 = Chr(34)
|
| Dim my_string As String
|
| Open "C:Documents and Settingsm535745Desktopimport.csv" For Input
As
| #1
| Open "C:Documents and Settingsm535745Desktoptest.csv" For Output As
#2
|
| While Not EOF(1)
| Line Input #1, my_string
|
| my_string = replace(my_string, FalseEnd, RightEnd)
| my_string = replace(my_string, txtas, txtas2)
|
| Write #2, my_string
| Wend
|
| Close #1
| Close #2
|
|
|
| Je ne pense pas qu'il fasse les replace et en plus il me met des doubles
""
| à la place des " d'origine, d'où l'idée du replace chr(34) mais sans
| succès... or la fonction replace fonctionne autrement
|





Raymond [mvp]
Le #6352241
on commence à épuiser le sujet.
peux-tu me passer les éléments dans une base , en fichier zip, à l'adresse
indiquée dans mes messages en enlevant tous les xyz, je jetterai un oeil.

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"Robert"
| J'utilise cette fonction :
|
| Public Function replace(ByVal strSearchIn As String, ByVal strChar, ByVal
| strChar2) As String
|
| ' purpose: replace a character or text in a text (this function is
| standard in A2K and up)
| '
| ' parameters: strChar is the character/text wanted to be replaced;
| ' strSearchIn is the text in which we count serached
| character/text
| ' strChar2 is the character/text to use;
| '
| ' returns: string / on error returns original string
|
| Dim intCounter As Integer
|
| On Error GoTo replace_Err
|
| For intCounter = 1 To Len(strSearchIn)
| If Mid$(strSearchIn, intCounter, 1) = strChar Then
| replace = replace & strChar2
| Else
| replace = replace & Mid$(strSearchIn, intCounter, 1)
| End If
| Next intCounter
|
| replace_Exit:
| Exit Function
|
| replace_Err:
| replace = strSearchIn
| Resume replace_Exit
|
| End Function
|
Raymond [mvp]
Le #6351941
sans nouvelles de toi depuis ce matin, je pense que tu as résolu ton
problème ?

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"Raymond [mvp]" %
| on commence à épuiser le sujet.
| peux-tu me passer les éléments dans une base , en fichier zip, à l'adresse
| indiquée dans mes messages en enlevant tous les xyz, je jetterai un oeil.
|
Robert
Le #6351671
Salut Raymond

As-tu eu mon fichier CSV par email, je l'ai envoyé à

Merci


sans nouvelles de toi depuis ce matin, je pense que tu as résolu ton
problème ?

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"Raymond [mvp]" %
| on commence à épuiser le sujet.
| peux-tu me passer les éléments dans une base , en fichier zip, à l'adresse
| indiquée dans mes messages en enlevant tous les xyz, je jetterai un oeil.
|





Raymond [mvp]
Le #6351661
bonjour.

non pas eu, as-tu enlevé les xyz dans l'adresse ?

--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
http://access2007.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/


"Robert"
| Salut Raymond
|
| As-tu eu mon fichier CSV par email, je l'ai envoyé à

|
| Merci
|
|
| > sans nouvelles de toi depuis ce matin, je pense que tu as résolu ton
| > problème ?
| >
| > --
| > @+
| > Raymond Access MVP http://OfficeSystemAccess.seneque.net/
| > http://officesystem.access.over-blog.com/
| > http://access2007.over-blog.com/
| > Pour débuter sur le forum: http://www.mpfa.info/
| >
| >
| > "Raymond [mvp]" news:
| > %
| > | on commence à épuiser le sujet.
| > | peux-tu me passer les éléments dans une base , en fichier zip, à
l'adresse
| > | indiquée dans mes messages en enlevant tous les xyz, je jetterai un
oeil.
| > |
| >
| >
| >
Publicité
Poster une réponse
Anonyme