Visual basic

marlich Messages postés 6 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 31 décembre 2003 - 16 nov. 2003 à 18:19
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 - 17 nov. 2003 à 00:24
marlich
bonjour
en vb dans l'utilisation d'un fichier à accès direct avec un prog très simple consistant à entrer des articles avec le numéro de l'article ,son nom et son prix et ensuite à partir de son numéro afficher le nom et le prix .
Si je crée un bouton de commande dit d'initialisation pour initialiser mon fichier c'est à dire le vider et y initialiser en limitant le nombre maximal d'enregistrements par le code suivant
Private Sub cmdInit_Click()
Const conMsg As String = "Voulez-vous initialiser le fichier?"
Const conBtns1 As Integer = vbYesNo + vbExclamation _
+ vbDefaultButton2 + vbApplicationModal
Const conBtns2 As Integer = vbOKOnly + vbInformation _
+ vbDefaultButton1 + vbApplicationModal
Dim intRepUtil As Integer, intArtNum As Integer, udtArtEnr As ArtStruc
udtArtEnr.strNom = Space(7)
udtArtEnr.intPrix = 0
intRepUtil = MsgBox(conMsg, conBtns1, "Accès direct")
If intRepUtil = vbYes Then
For intArtNum = 1 To 10
Put #1, intArtNum, udtArtEnr
Next intArtNum
intRepUtil = MsgBox("Le fichier a été initialisé.", conBtns2, "Random")
Else
intRepUtil = MsgBox("Le fichier n'a pas été initialisé.", conBtns2, "Random")
End If
txtNum.SetFocus
End Sub
Si je rentre un onzième article ou un douxième alors que j'ai limité les enregistrements à 10 (intArtNum de 1 à 10), cela marche quand même alors que cela ne devrait pas
Quelqu'un peut-il m'expliquer pourquoi?
A l'avance merci

3 réponses

cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
16 nov. 2003 à 18:50
:big) Neodante :big)

Un fichier n'a pas de limite .... à par le disque dur ! Seul ton code peut limiter cela ....
@+
0
marlich Messages postés 6 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 31 décembre 2003
16 nov. 2003 à 22:41
marlich
c'est bien ce qu'il me semble en limitant l'intartnum de 1 à 10 je suis censé limiter le nombre d'entrée de données à 10 alors que dans la pratique je peux en mettre plus ce qui me fait dire que la limitation de 1 à 10 au moment de la réinitialisation ne me semble servir à rien et c'est çà qui ne colle pas
Qu'en penses-tu ?
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
17 nov. 2003 à 00:24
:big) Neodante :big)

La seule chose que tu as à faire c'est de verrouiller ton code : met des conditions partout afin de ne jamais dépassé ta constante de 10 (pose une constante au lieu de mettre un chiffre comme si tu le change -> pas de problème dans ton code !).
L'accès direct est un des modes d'accès les plus simple et pratique pour lire les données ... si tu lui donne à manger -> il mange ! Donc seul le code peut bloquer ça !
En fait tu n'as pas besoin de l'initialisé ton fichier, tu écris des données les unes à la suite des autres et celui-ci s'agrandit au fur et à mesure ! Pour réinitialiser ton fichier : efface le !!!
J'espère que tu m'as compris ! :-p
@+
0
Rejoignez-nous