Acess et vb6 requette de supretion ?

FeelCode Messages postés 278 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 27 avril 2006 - 2 juil. 2004 à 00:56
FeelCode Messages postés 278 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 27 avril 2006 - 3 juil. 2004 à 16:48
hello
Comment est ce que l'on suprime un enregistrement avec une requette ??

j'ai essayer ce code

la requete est stoquée dans un tableau TabRequete(7) "DELETE From T_Proc WHERE T_Proc.Auto '';"

ensuite j'appelle la fonction comme suis
debug.print Delauto("PROC1")
Public Function DelAuto(DelAutoProc As String) As Boolean
Dim Dt As Database
Dim Rs As Variant
Dim G As String
Dim D As String
Dim Result

Result = "" 'c est censer renvoiyer une valeur ?

Set Dt = OpenDatabase(chemindelabase)
D = Right(TabRequete(7), 2)
G = Left(TabRequete(7), 40)
Dt.Execute (Replace(G + DelAutoProc + D, DelAutoProc, Result))
Dt.Close

'si sa a bien suprimer on renvoiye tru sinon false mai la vb passe dessu comme si de rien était. pas de message .... ???

End Function

bon alors la table s'appelle T_proc et le champ en question s'apelle Auto qui contrien du memo (string)

dans cette table la donnée a suprimer est : PROC1
merci pour le coup de pouce

Souriez vous ête lu 8-)

4 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
2 juil. 2004 à 06:22
étrange ton code....

tout ce que tu semble executer, c'est :

DELETE From T_Proc WHERE T_Proc.Auto = '''c est censer renvoiyer une valeur ?;"

alors qu'il semblerait que tu veuille :

TabRequete(7) "DELETE From T_Proc WHERE T_Proc.Auto '"

debug.print Delauto("PROC1")

Public Function DelAuto(DelAutoProc As String) As Integer
Dim Dt As Database
Dim Rs As RecordSet

Set Dt = OpenDatabase(chemindelabase)Set RS Dt.OpenRecordset ( "SELECT COUNT(0) From T_Proc WHERE T_Proc.Auto '" & DelAutoProc & "';"
If RS.Fields(0).Value = 0 Then
    '# La Valeur a supprimer n'existe pas dans la table : la fonction renvoies -1
    DelAuto = -1
    Dt.Close
    Exit Function
End If
Dt.Execute TabRequete(7) & DelAutoProc & "';"
Set RS Dt.OpenRecordset ( "SELECT COUNT(0) From T_Proc WHERE T_Proc.Auto '" & DelAutoProc & "';"
If RS.Fields(0).Value = 0 Then
    '# La Valeur a bien été supprimée... la fonction renvoies 1
    DelAuto = 1
    Dt.Close
    Exit Function
End If

'# Le champ existe toujours.... la fonction renvoies 0
DelAuto = 0

Dt.Close

End Function


Comme tu peux le voir, c'est a toi de vérifier si la donnée a bien été supprimée.....
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
2 juil. 2004 à 08:25
je ne comprend pas ta Requete :
"DELETE From T_Proc WHERE T_Proc.Auto = '';"

il te manque un morceau de ton Filtre

Ex : "Delete * from T_Proc where T_Proc.Auto = '" & Combo1.Text & "'"
It@li@
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
2 juil. 2004 à 08:28
il le place plus tard...

D = Right(TabRequete(7), 2)
G = Left(TabRequete(7), 40)

et il replace les morceaux.... mais c'est la que le code deviens étrange :

Replace(G + DelAutoProc + D, DelAutoProc, Result )

equivaut à :

G + Result + D

donc, au final, il ne demande pas la suppression du champ dont auto = DelAutoProc
0
FeelCode Messages postés 278 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 27 avril 2006 1
3 juil. 2004 à 16:48
euh

pour ce qui est de tester l'existance de la valeur
j'ai fait une autre fonction.
If ComparAuto(DelAutoProc) = False Then Exit Function ' si il n'y est pas on sort
après j'essaye de dél mai bon ?
en gros :
ci dessou - ceci ser a placer l'éllement a trouver ET a le suprimmer mai bon ??

D = Right(TabRequete(7), 2)
G = Left(TabRequete(7), 40)
Dt.Execute (Replace(G + DelAutoProc + D, DelAutoProc,

Renfield tu utilise 2 reuqette diferente je supose 1 pour del et une pour savoir s'il est present :)
Merci pour l'aide aportée :))

Souriez vous ête lu 8-)
0
Rejoignez-nous