UTILISATION D'UN FICHIER À ACCÈS DIRECT, COMME BASE DE DONNÉES.

Signaler
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
-
Messages postés
3
Date d'inscription
mardi 20 janvier 2009
Statut
Membre
Dernière intervention
3 mars 2013
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35791-utilisation-d-un-fichier-a-acces-direct-comme-base-de-donnees

Messages postés
3
Date d'inscription
mardi 20 janvier 2009
Statut
Membre
Dernière intervention
3 mars 2013

s'il vous plait cette application ne fonctione pas pour moi je ne sais pas prq quelq'un peut me servir
Messages postés
291
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
13 mars 2015

en faisant comme ça tu devrais pas avoir de problème.
'-----------------------------------------------------------


Dim sFile As String
Dim lFile As Long

sFile = App.Path & "" & "Adresse.adr"
lFile = FreeFile
Open sFile For Random As #lFile Len = Len(Adr)

'---------------------------------------------------
Concernant le FreeFile je conseil également de le faire juste avant l'ouverture du fichier, car tant que le fichier n'est pas ouvert FreeFile renvoie la meme valeur.
Pas genant si on utilise q'un fichier mais avec plusieurs fichiers ouverts simultanément, problème !!!
Le code suivant va générer une erreur sur le 2eme fichier car lFile1=lFile2

Dim sFile1 As String, sFile2 As String
Dim lFile1 As Long, lFile2 As Long

sFile1 = App.Path & "" & "Adresse.adr"
sFile2 = App.Path & "" & "Sauvegarde.adr"
lFile1 = FreeFile
lFile2 = FreeFile

Open sFile1 For Random As #lFile1 Len = Len(Adr)
Open sFile2 For Random As #lFile2 Len = Len(Adr)

Il vaut mieux écrire
------------------------------------------------------
Dim sFile1 As String, sFile2 As String
Dim lFile1 As Long, lFile2 As Long


sFile1 = App.Path & "" & "Adresse.adr"
sFile2 = App.Path & "" & "Sauvegarde.adr"

lFile1 = FreeFile
Open sFile1 For Random As #lFile1 Len = Len(Adr)
lFile2 = FreeFile
Open sFile2 For Random As #lFile2 Len = Len(Adr)

-------------------------------------------------------------

Pour ce qui est de la suppression c'est d'un interet très important car il faut gérer les trous, prévoir le compactage, etc... et c'est pas évident du tout. Ceci dit tu as raison, si ca n'interresse personne, pas la peine, par contre tu fais erreur, les nons débutants n'ont pas la science infuse, et les outils sont telement vaste aujourd'hui que meme des gens expérimentés peuvent y voir un interret (enfin du moins je le pense, et d'ailleurs je connais des pros qui n'on jamais écrit ce type de code).
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
23
Bonjour,
Merci de ces commentaires, les conseils sont toujours bon.Ceci dit, pour ce qui est de coder en dur le chemin d'accès au fichier, je n'ai pas pu faire autrement, avec App.Path, j'ai un message d'erreur qui me désigne le mot Path et qui dit "Référence à une constante non autorisée".
Je suppose que je l'utilise mal.Pour ce qui est de la suppression, je verrai si celà vaut le coup de modifier si celà n'interesse aucun débutant, car pour les autres ce code ne les intéressent certainement plus depuis longtemp.Pour ce qui est de déclarer en Integer plutôt qu'en Long, à mon avis pour servir de carnet d'adresses perso,c'était largement suffisant.

jpleroisse
Messages postés
291
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
13 mars 2015

Tu assurement raison ScSami concernant les canaux, je n'ai jamais réellement approfondie la question ce que de ce pas je vais tester, de toute facon mieux vaut jouer le sécurité en utilisant FreeFile.
Afficher les 10 commentaires