Visual basic et fichier à accès direct

cs_saul Messages postés 12 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 26 décembre 2003 - 12 déc. 2003 à 09:02
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 - 12 déc. 2003 à 10:02
saul
bonjour à tous
j'utilise un prog qui rentre dans un fichier à accès direct de 30 "places" les données suivantes un produit avec son nom et son prix et un numéro qui est celui de la place qu'il occupe dans le fichier direct ; (intnum,udtMarch.strNom,udtMarch.strPrix
j'aurai un bouton pour enregistrer et un pour afficher un produit et son prix pour pouvoir en modifier le prix puis le reenregistrer ensuite avec le nouveau prix mais toujours à la même place c'est à dire avec le même intNUm.
Comment faire pour éviter que qu'elqu'un puisse enregistrer un nouveau produit sur un intnum qui est déjà occupé; en quelque sorte je voudrais que ce soit le programme qui affiche les intnum dans un text et que je j'ai à saisir uniquement le nom et le prix comme cela pas de risqued'erreur ; je suis un peu long mais c'est pour essayer d'être clair.
A l'avance merci

1 réponse

cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
12 déc. 2003 à 10:02
Tu peut proceder ainsi :

- Ouvrir le fichier
- Recuperer les info du produit choisi
- Modifier dans un formulaire les donnée
- repointer sur le debut du produit dans ton fichier
- ecrire les données dans le fichier
- fermer le fichier

Tu peut faire un Type par exemple :

Type MONPRODUIT
intnum as integer
strNom as string *32
strPrix as single
end type

puis faire comme ceci :

dim Prod as MONPRODUIT
open MonFichier for binary as #1
get #1,1+ n * len(Prod), Prod
'--------------------------------
Prod.strprix = 10.5
'--------------------------------
put #1,1+ n * len(Prod), Prod
close #1

voila ce n'est qu'un exemple
il faut l'adapter selon ton cas

@+

E.B.
0
Rejoignez-nous