OVH Cloud OVH Cloud

Supprimer un enreg (rigolez pas)

7 réponses
Avatar
Alain MENARD
J'utilise une connexion ADO avec Access 2000. J'ouvre un recordset et
affiche chaque enreg à l'écran sous forme de fiche.

J'ai un bouton "Supprimer fiche" qui dans mes souhaits doit supprimer
l'enreg actuel dans la base Access, ça ça va, et enlever l'enregistrement du
recordset actuel (ça ça va pas) et se positionner sur le suivant.
Je ne sais comment faire. Merci de votre aide.

--

Amicalement

Alain MENARD

Pour me joindre : amenard@vision-tech.fr

7 réponses

Avatar
Bismark Prods
Tu pourrais faire un objet command avec le requete SQL correspondant et
faire un refresh lors de la suppression et au pire conserver la clé primaire
de l'enregistrement à afficher apres


"Alain MENARD" a écrit dans le message de
news:3efe097e$0$26608$
J'utilise une connexion ADO avec Access 2000. J'ouvre un recordset et
affiche chaque enreg à l'écran sous forme de fiche.

J'ai un bouton "Supprimer fiche" qui dans mes souhaits doit supprimer
l'enreg actuel dans la base Access, ça ça va, et enlever l'enregistrement


du
recordset actuel (ça ça va pas) et se positionner sur le suivant.
Je ne sais comment faire. Merci de votre aide.

--

Amicalement

Alain MENARD

Pour me joindre :




Avatar
Alain MENARD
Salut à tous et à toutes

J'ai un problème qui m'énerve. C'est une histoire de positionnement dans le
recordset.

Si je me place sur la première fiche et que je la supprime, cela lance quand
même Showfiche et ça plante car il ne trouve pas les donnée à l'écran. Je
manque de logique ce soir. Je joins mon code. Merci de votre aide.

Dim x As Integer

x = MsgBox("Voulez-vous supprimer définitivement la fiche actuelle", 36,
"Suppression")

If x = vbYes Then
With rstFiches
.Find "[ID]=" & OFormFiche.ID
.Delete
.Update
If Not .BOF Then
.MovePrevious
ShowFiche
End If
End With

Me.NumFiches = rstFiches.RecordCount
End If


--

Amicalement

Alain

Pour me joindre :

"Alain MENARD" a écrit dans le message de news:
3efe097e$0$26608$
J'utilise une connexion ADO avec Access 2000. J'ouvre un recordset et
affiche chaque enreg à l'écran sous forme de fiche.

J'ai un bouton "Supprimer fiche" qui dans mes souhaits doit supprimer
l'enreg actuel dans la base Access, ça ça va, et enlever l'enregistrement


du
recordset actuel (ça ça va pas) et se positionner sur le suivant.
Je ne sais comment faire. Merci de votre aide.

--

Amicalement

Alain MENARD

Pour me joindre :




Avatar
Stéphane Maillard
Bonjour,

Essayer avec AbolutePosition, cela vous donne la position ou vous vous trouvez dans les enregistrement, si mes souvenir sont bon
quand vous êtes sur 1 ou 0 vous êtes sur le premier enregistrement. Il suffit de récupérer cette valeur puis de se positionné sur le
suivant ou le précèdent.

Cordialement

Stéphane Maillard

"Alain MENARD" a écrit dans le message de news:3efe097e$0$26608$
| J'utilise une connexion ADO avec Access 2000. J'ouvre un recordset et
| affiche chaque enreg à l'écran sous forme de fiche.
|
| J'ai un bouton "Supprimer fiche" qui dans mes souhaits doit supprimer
| l'enreg actuel dans la base Access, ça ça va, et enlever l'enregistrement du
| recordset actuel (ça ça va pas) et se positionner sur le suivant.
| Je ne sais comment faire. Merci de votre aide.
|
| --
|
| Amicalement
|
| Alain MENARD
|
| Pour me joindre :
|
|
Avatar
Alain MENARD
Cela me parait une bonne idée. Merci Stéphane je teste demain

--

Amicalement

Alain MENARD

Pour me joindre :

"Stéphane Maillard" a écrit dans le
message de news:
Bonjour,

Essayer avec AbolutePosition, cela vous donne la position ou vous vous


trouvez dans les enregistrement, si mes souvenir sont bon
quand vous êtes sur 1 ou 0 vous êtes sur le premier enregistrement. Il


suffit de récupérer cette valeur puis de se positionné sur le
suivant ou le précèdent.

Cordialement

Stéphane Maillard

"Alain MENARD" a écrit dans le message de


news:3efe097e$0$26608$
| J'utilise une connexion ADO avec Access 2000. J'ouvre un recordset et
| affiche chaque enreg à l'écran sous forme de fiche.
|
| J'ai un bouton "Supprimer fiche" qui dans mes souhaits doit supprimer
| l'enreg actuel dans la base Access, ça ça va, et enlever


l'enregistrement du
| recordset actuel (ça ça va pas) et se positionner sur le suivant.
| Je ne sais comment faire. Merci de votre aide.
|
| --
|
| Amicalement
|
| Alain MENARD
|
| Pour me joindre :
|
|




Avatar
Alain MENARD
ça ne focntionne pas. Impossible d'utiliser .absoluteposition car un message
apparait :

Le descripteur de ligne faisait référence à une ligne supprimée

Je suis coincé. Help :

--

Amicalement

Alain MENARD

Pour me joindre :

"Stéphane Maillard" a écrit dans le
message de news:
Bonjour,

Essayer avec AbolutePosition, cela vous donne la position ou vous vous


trouvez dans les enregistrement, si mes souvenir sont bon
quand vous êtes sur 1 ou 0 vous êtes sur le premier enregistrement. Il


suffit de récupérer cette valeur puis de se positionné sur le
suivant ou le précèdent.

Cordialement

Stéphane Maillard

"Alain MENARD" a écrit dans le message de


news:3efe097e$0$26608$
| J'utilise une connexion ADO avec Access 2000. J'ouvre un recordset et
| affiche chaque enreg à l'écran sous forme de fiche.
|
| J'ai un bouton "Supprimer fiche" qui dans mes souhaits doit supprimer
| l'enreg actuel dans la base Access, ça ça va, et enlever


l'enregistrement du
| recordset actuel (ça ça va pas) et se positionner sur le suivant.
| Je ne sais comment faire. Merci de votre aide.
|
| --
|
| Amicalement
|
| Alain MENARD
|
| Pour me joindre :
|
|




Avatar
Stéphane Maillard
Bonjour,

MaVariable = AbsolutePosition
Je supprime mon entegistrement
si MaVariable est plus que 0 alors
je vais à l'enregistrement suivant
ou si MaVariable est plus grand que le dernier enregistrement alors
je vais à l'enregistrement suivant
fin de si

Je n'est pas VB sous la main mais cela doit ressembler à la logique à utiliser.

Cordialement

Stéphane Maillard

"Alain MENARD" a écrit dans le message de news:3f016dfc$0$12457$
| ça ne focntionne pas. Impossible d'utiliser .absoluteposition car un message
| apparait :
|
| Le descripteur de ligne faisait référence à une ligne supprimée
|
| Je suis coincé. Help :
|
| --
|
| Amicalement
|
| Alain MENARD
|
| Pour me joindre :
|
| "Stéphane Maillard" a écrit dans le
| message de news:
| > Bonjour,
| >
| > Essayer avec AbolutePosition, cela vous donne la position ou vous vous
| trouvez dans les enregistrement, si mes souvenir sont bon
| > quand vous êtes sur 1 ou 0 vous êtes sur le premier enregistrement. Il
| suffit de récupérer cette valeur puis de se positionné sur le
| > suivant ou le précèdent.
| >
| > Cordialement
| >
| > Stéphane Maillard
| >
| > "Alain MENARD" a écrit dans le message de
| news:3efe097e$0$26608$
| > | J'utilise une connexion ADO avec Access 2000. J'ouvre un recordset et
| > | affiche chaque enreg à l'écran sous forme de fiche.
| > |
| > | J'ai un bouton "Supprimer fiche" qui dans mes souhaits doit supprimer
| > | l'enreg actuel dans la base Access, ça ça va, et enlever
| l'enregistrement du
| > | recordset actuel (ça ça va pas) et se positionner sur le suivant.
| > | Je ne sais comment faire. Merci de votre aide.
| > |
| > | --
| > |
| > | Amicalement
| > |
| > | Alain MENARD
| > |
| > | Pour me joindre :
| > |
| > |
| >
| >
|
|
Avatar
Alain MENARD
Merci de tes conseils Stéphane. Cela fonctionne maintenant parfaitement.
Voila le code :

If .RecordCount > 0 Then

If vPosition > .RecordCount Then
.MovePrevious
ShowFiche
ElseIf vPosition > 0 And .RecordCount >= 1 Then
.MoveNext
ShowFiche
End If
Else
' MsgBox "fo tt effacer"
' ShowFiche
Unload OFormFiche
Set rstFiches = New ADODB.Recordset
strSQL = "SELECT * FROM Collection order by Pays, ID1"
rstFiches.CursorType = adOpenKeyset
rstFiches.LockType = adLockOptimistic
rstFiches.Open strSQL, conADO

Load OFormFiche
End If

--

Amicalement

Alain MENARD
Auteur des CD-Roms Philatélix
http://www.philatelix.fr

Pour me joindre :

"Stéphane Maillard" a écrit dans le
message de news:
Bonjour,

MaVariable = AbsolutePosition
Je supprime mon entegistrement
si MaVariable est plus que 0 alors
je vais à l'enregistrement suivant
ou si MaVariable est plus grand que le dernier enregistrement alors
je vais à l'enregistrement suivant
fin de si

Je n'est pas VB sous la main mais cela doit ressembler à la logique à


utiliser.

Cordialement

Stéphane Maillard

"Alain MENARD" a écrit dans le message de


news:3f016dfc$0$12457$
| ça ne focntionne pas. Impossible d'utiliser .absoluteposition car un


message
| apparait :
|
| Le descripteur de ligne faisait référence à une ligne supprimée
|
| Je suis coincé. Help :
|
| --
|
| Amicalement
|
| Alain MENARD
|
| Pour me joindre :
|
| "Stéphane Maillard" a écrit dans


le
| message de news:
| > Bonjour,
| >
| > Essayer avec AbolutePosition, cela vous donne la position ou vous vous
| trouvez dans les enregistrement, si mes souvenir sont bon
| > quand vous êtes sur 1 ou 0 vous êtes sur le premier enregistrement. Il
| suffit de récupérer cette valeur puis de se positionné sur le
| > suivant ou le précèdent.
| >
| > Cordialement
| >
| > Stéphane Maillard
| >
| > "Alain MENARD" a écrit dans le message de
| news:3efe097e$0$26608$
| > | J'utilise une connexion ADO avec Access 2000. J'ouvre un recordset


et
| > | affiche chaque enreg à l'écran sous forme de fiche.
| > |
| > | J'ai un bouton "Supprimer fiche" qui dans mes souhaits doit


supprimer
| > | l'enreg actuel dans la base Access, ça ça va, et enlever
| l'enregistrement du
| > | recordset actuel (ça ça va pas) et se positionner sur le suivant.
| > | Je ne sais comment faire. Merci de votre aide.
| > |
| > | --
| > |
| > | Amicalement
| > |
| > | Alain MENARD
| > |
| > | Pour me joindre :
| > |
| > |
| >
| >
|
|