altozinzin
Messages postés54Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention 6 mai 2011
-
26 août 2006 à 16:19
altozinzin
Messages postés54Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention 6 mai 2011
-
26 août 2006 à 22:59
Voila, j´ai créé une base de données en VB6 pour faire une vidéothèque. (je suis un débutant)
j´ajoute mes DVD grace a:
>open "c:\dvd.txt" for append as #1
>entree = numeroID & "~é" & titredudvd (ou ~é est mon séparateur de liste)
>print #1, entree
>close #1
Jusque là, aucun pb
Ensuite, si je veux modifier une entrée, je fais:
>open "c:\dvd.txt" for input as #2
>dim ligne
>dim tableau
>do while not EOF(2)
> line input #2, ligne
>tableau=split (ligne, "~é")
>if tableau(0)= "X" then(ou X est l´ID de mon DVD)
>numeroID= tableau(0)
>titredudvd=tableau(1)
>end if
>loop
>close #1
et la les informations concernant le DVD numéro
X s´affiche normalment.
C´est la que je suis bloqué, car je ne parvient pas à enregistrer les informations que j´ai modifié.
Quelu´un pourrait-il m´expliquer comment faire.
Merci d´avance, en espérant avoir été clair!!
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 26 août 2006 à 16:53
Salut,
dans
Ensuite, si je veux modifier une entrée, je fais:
>open "c:\dvd.txt" for input as #2 >dim ligne
>dim tableau
>do while not EOF(2)
> line input #2, ligne
>tableau= split (ligne, "~é")
>if tableau(0)= "X" then(ou X est l´ID de mon DVD)
>numeroID= tableau(0)
>titredudvd=tableau(1)
>end if
>loop
>close #1
Pourquoi 2 en haut puis 1 en bas ??
D'où l'utilité de la fonction FreeFile().
@++
<hr size ="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 26 août 2006 à 17:53
Ce n'est pas vraiment une base de données que tu utilise là : c'est un accès direct à un fichier, c'est bien différent !
Pour un accès direct, le plus simple (mais bien compliqué quand même !) c'est de passer par un mode Binary pour l'ouverture de ton fichier. Ca t'oblige par contre à enregistrer les données sous forme binaire et non ASCII !
Sinon, beaucoup plus simple : utilise une VRAIE base de données faite avec Access, SQL Server ou MySQL par exemple.
altozinzin
Messages postés54Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention 6 mai 2011 26 août 2006 à 20:47
Merci pour vos réponses.
Mortalino: c'est juste une faute de frappe que j'ai faite
Darksisious, tu pourrais me donner un exemple de ce dont tu parles? merci d'avance.
Sinon quand je modifie une ligne et que je l'enregistre, toutes les autres sont effacés, ce qui est un peu génant, lol
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 26 août 2006 à 21:21
Et oui, c'est justement le problème lorsque tu travaille dans un fichier à accès direct : si tu ne l'ouvre pas en binaire, ca efface tout !
C'est pour cà : travaille en base de données, bien plus simple qu'un fichier pour ce que tu cherche à faire, crois moi !
Tu trouvera plein d'exemple sur le site.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 26 août 2006 à 21:25
le lien que j'ai indiqué ne fais pas d'acces en binary et fonctionne parfaitement
il est évident néanmoins qu'on stoque en base...
(voir rubrique tutoriaux pour commencer)
++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp