marlich
Messages postés6Date d'inscriptionjeudi 16 octobre 2003StatutMembreDernière intervention31 décembre 2003
-
16 nov. 2003 à 18:19
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 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
marlich
Messages postés6Date d'inscriptionjeudi 16 octobre 2003StatutMembreDernière intervention31 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 ?
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 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
@+