Bonjour
j'ai un formulaire basé sur une table.
Dans ce formulaire, un clic sur un bouton de commande déclenche une
procédure évenementielle qui demande de parcourir tous les
enregistrements de la table en faisant pour chacun un calcul et cela
jusqu'à la fin des enregistrements.
Mais bizarememnt ma procédure continue après le 3300ième enregistrement
alors que c'est le dernier!
Mon formulaire est un recordset du type Feuille rép.dyn.(MAJ globale)
Set MaBd = DBEngine.Workspaces(0).Databases(0)
Set MaTable = MaBd.OpenRecordset("Lecture", DB_OPEN_TABLE)
If MaTable.EOF Then
GoTo etiquettefin
Else
MaTable.MoveNext
GoTo etiquettedebut
End If
En fait ma procedure ne detecte pas que c'est la fin des enregistrements
et je ne comprends pas pourquoi????
Merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacques
Bonjour, ... MaTable.MoveFirst If MaTabel.EOF then ...
Jacques
"Michel J" a écrit dans le message de news:
Bonjour j'ai un formulaire basé sur une table. Dans ce formulaire, un clic sur un bouton de commande déclenche une procédure évenementielle qui demande de parcourir tous les enregistrements de la table en faisant pour chacun un calcul et cela jusqu'à la fin des enregistrements. Mais bizarememnt ma procédure continue après le 3300ième enregistrement alors que c'est le dernier! Mon formulaire est un recordset du type Feuille rép.dyn.(MAJ globale)
Set MaBd = DBEngine.Workspaces(0).Databases(0) Set MaTable = MaBd.OpenRecordset("Lecture", DB_OPEN_TABLE) If MaTable.EOF Then GoTo etiquettefin Else MaTable.MoveNext GoTo etiquettedebut End If
En fait ma procedure ne detecte pas que c'est la fin des enregistrements et je ne comprends pas pourquoi???? Merci
Bonjour,
...
MaTable.MoveFirst
If MaTabel.EOF then
...
Jacques
"Michel J" <mjalon@club-internet.fr> a écrit dans le message de
news:43C23961.4000104@club-internet.fr...
Bonjour
j'ai un formulaire basé sur une table.
Dans ce formulaire, un clic sur un bouton de commande déclenche une
procédure évenementielle qui demande de parcourir tous les
enregistrements de la table en faisant pour chacun un calcul et cela
jusqu'à la fin des enregistrements.
Mais bizarememnt ma procédure continue après le 3300ième enregistrement
alors que c'est le dernier!
Mon formulaire est un recordset du type Feuille rép.dyn.(MAJ globale)
Set MaBd = DBEngine.Workspaces(0).Databases(0)
Set MaTable = MaBd.OpenRecordset("Lecture", DB_OPEN_TABLE)
If MaTable.EOF Then
GoTo etiquettefin
Else
MaTable.MoveNext
GoTo etiquettedebut
End If
En fait ma procedure ne detecte pas que c'est la fin des enregistrements
et je ne comprends pas pourquoi????
Merci
Bonjour, ... MaTable.MoveFirst If MaTabel.EOF then ...
Jacques
"Michel J" a écrit dans le message de news:
Bonjour j'ai un formulaire basé sur une table. Dans ce formulaire, un clic sur un bouton de commande déclenche une procédure évenementielle qui demande de parcourir tous les enregistrements de la table en faisant pour chacun un calcul et cela jusqu'à la fin des enregistrements. Mais bizarememnt ma procédure continue après le 3300ième enregistrement alors que c'est le dernier! Mon formulaire est un recordset du type Feuille rép.dyn.(MAJ globale)
Set MaBd = DBEngine.Workspaces(0).Databases(0) Set MaTable = MaBd.OpenRecordset("Lecture", DB_OPEN_TABLE) If MaTable.EOF Then GoTo etiquettefin Else MaTable.MoveNext GoTo etiquettedebut End If
En fait ma procedure ne detecte pas que c'est la fin des enregistrements et je ne comprends pas pourquoi???? Merci
3stone
Salut,
"Jacques" | ... | MaTable.MoveFirst | If MaTabel.EOF then | ...
Pourquoi ? Un recordset est positionné sur le premier record, pour autant qu'il y en ait un...
Michel :
| > j'ai un formulaire basé sur une table. | > Dans ce formulaire, un clic sur un bouton de commande déclenche une | > procédure évenementielle qui demande de parcourir tous les | > enregistrements de la table en faisant pour chacun un calcul et cela | > jusqu'à la fin des enregistrements. | > Mais bizarememnt ma procédure continue après le 3300ième enregistrement | > alors que c'est le dernier! | > Mon formulaire est un recordset du type Feuille rép.dyn.(MAJ globale) | > | > Set MaBd = DBEngine.Workspaces(0).Databases(0) | > Set MaTable = MaBd.OpenRecordset("Lecture", DB_OPEN_TABLE) | > If MaTable.EOF Then | > GoTo etiquettefin | > Else | > MaTable.MoveNext | > GoTo etiquettedebut | > End If
où est le label "etiquettedebut" ?
Mais, vire moi ces goto etiquette vite fait, quelle horreur ;-(
Tu devrais expliquer ce que tu veux faire, car, puisque ton formulaire est basé sur la table, tu devrais parcourir le Recordset.Clone
"Jacques"
| ...
| MaTable.MoveFirst
| If MaTabel.EOF then
| ...
Pourquoi ?
Un recordset est positionné sur le premier record, pour autant qu'il y en ait un...
Michel :
| > j'ai un formulaire basé sur une table.
| > Dans ce formulaire, un clic sur un bouton de commande déclenche une
| > procédure évenementielle qui demande de parcourir tous les
| > enregistrements de la table en faisant pour chacun un calcul et cela
| > jusqu'à la fin des enregistrements.
| > Mais bizarememnt ma procédure continue après le 3300ième enregistrement
| > alors que c'est le dernier!
| > Mon formulaire est un recordset du type Feuille rép.dyn.(MAJ globale)
| >
| > Set MaBd = DBEngine.Workspaces(0).Databases(0)
| > Set MaTable = MaBd.OpenRecordset("Lecture", DB_OPEN_TABLE)
| > If MaTable.EOF Then
| > GoTo etiquettefin
| > Else
| > MaTable.MoveNext
| > GoTo etiquettedebut
| > End If
où est le label "etiquettedebut" ?
Mais, vire moi ces goto etiquette vite fait, quelle horreur ;-(
Tu devrais expliquer ce que tu veux faire, car, puisque ton formulaire
est basé sur la table, tu devrais parcourir le Recordset.Clone
"Jacques" | ... | MaTable.MoveFirst | If MaTabel.EOF then | ...
Pourquoi ? Un recordset est positionné sur le premier record, pour autant qu'il y en ait un...
Michel :
| > j'ai un formulaire basé sur une table. | > Dans ce formulaire, un clic sur un bouton de commande déclenche une | > procédure évenementielle qui demande de parcourir tous les | > enregistrements de la table en faisant pour chacun un calcul et cela | > jusqu'à la fin des enregistrements. | > Mais bizarememnt ma procédure continue après le 3300ième enregistrement | > alors que c'est le dernier! | > Mon formulaire est un recordset du type Feuille rép.dyn.(MAJ globale) | > | > Set MaBd = DBEngine.Workspaces(0).Databases(0) | > Set MaTable = MaBd.OpenRecordset("Lecture", DB_OPEN_TABLE) | > If MaTable.EOF Then | > GoTo etiquettefin | > Else | > MaTable.MoveNext | > GoTo etiquettedebut | > End If
où est le label "etiquettedebut" ?
Mais, vire moi ces goto etiquette vite fait, quelle horreur ;-(
Tu devrais expliquer ce que tu veux faire, car, puisque ton formulaire est basé sur la table, tu devrais parcourir le Recordset.Clone
| > | > Set MaBd = DBEngine.Workspaces(0).Databases(0) | > Set MaTable = MaBd.OpenRecordset("Lecture", DB_OPEN_TABLE) | > If MaTable.EOF Then | > GoTo etiquettefin | > Else | > MaTable.MoveNext | > GoTo etiquettedebut | > End If
je te conseil d'utiliser while .... wend pour parcourir t'ais
enregistrements, c'est plus propre à lire. Set MaBd = DBEngine.Workspaces(0).Databases(0) Set MaTable = MaBd.OpenRecordset("Lecture", DB_OPEN_TABLE) while MaTable.EOFúlse MaTable.MoveNext 'GoTo etiquettedebut ' /* Place ton code étiquettedebut ici ou fait une fonction et appel ta fonction */
où est le label "etiquettedebut" ?
Mais, vire moi ces goto etiquette vite fait, quelle horreur ;-(
Tu devrais expliquer ce que tu veux faire, car, puisque ton formulaire est basé sur la table, tu devrais parcourir le Recordset.Clone
comme dit 3stone les goto etiquette sont une horreur et complique la lecture du code, puis à mon avis ton problème vient de la.
bon chance
Olivier
| >
| > Set MaBd = DBEngine.Workspaces(0).Databases(0)
| > Set MaTable = MaBd.OpenRecordset("Lecture", DB_OPEN_TABLE)
| > If MaTable.EOF Then
| > GoTo etiquettefin
| > Else
| > MaTable.MoveNext
| > GoTo etiquettedebut
| > End If
je te conseil d'utiliser while .... wend pour parcourir t'ais
enregistrements, c'est plus propre à lire.
Set MaBd = DBEngine.Workspaces(0).Databases(0)
Set MaTable = MaBd.OpenRecordset("Lecture", DB_OPEN_TABLE)
while MaTable.EOFúlse
MaTable.MoveNext
'GoTo etiquettedebut ' /* Place ton code étiquettedebut ici ou fait une
fonction et appel ta fonction */
où est le label "etiquettedebut" ?
Mais, vire moi ces goto etiquette vite fait, quelle horreur ;-(
Tu devrais expliquer ce que tu veux faire, car, puisque ton formulaire
est basé sur la table, tu devrais parcourir le Recordset.Clone
| > | > Set MaBd = DBEngine.Workspaces(0).Databases(0) | > Set MaTable = MaBd.OpenRecordset("Lecture", DB_OPEN_TABLE) | > If MaTable.EOF Then | > GoTo etiquettefin | > Else | > MaTable.MoveNext | > GoTo etiquettedebut | > End If
je te conseil d'utiliser while .... wend pour parcourir t'ais
enregistrements, c'est plus propre à lire. Set MaBd = DBEngine.Workspaces(0).Databases(0) Set MaTable = MaBd.OpenRecordset("Lecture", DB_OPEN_TABLE) while MaTable.EOFúlse MaTable.MoveNext 'GoTo etiquettedebut ' /* Place ton code étiquettedebut ici ou fait une fonction et appel ta fonction */
où est le label "etiquettedebut" ?
Mais, vire moi ces goto etiquette vite fait, quelle horreur ;-(
Tu devrais expliquer ce que tu veux faire, car, puisque ton formulaire est basé sur la table, tu devrais parcourir le Recordset.Clone