begin process at 2012 02 17 11:49:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Maths

 > 

Effacer un enregistrement


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Effacer un enregistrement

mercredi 3 juillet 2002 à 15:31:27 | Effacer un enregistrement

Charlie

Allo... j'essaie d'effacer, dans ma table Data, tous les enregistrements dont le champ Name correspond a un certain nom.

A toute les fois qu'il arrive pour effacer le premier, il me sort ce message d'erreur:

Key column information is insufficient or incorrect. Too many rows were affected by update.

Voici mon code...

rsdata est du type Adodb.recordset




Public Function DeleteImageData(Image As String)


If rsData.RecordCount > 0 Then
rsData.MoveFirst

Do While rsData.EOF = False

If Trim(GetValue(rsData!name)) = Image then
rsData.Delete adAffectCurrent
rsData.Update
End If
rsData.MoveNext
Loop

End If
rsData.Update

End Function



Merci!!!!
mercredi 3 juillet 2002 à 17:47:45 | Re : Effacer un enregistrement

PatriceVB

Administrateur CodeS-SourceS
crée un objet command avec une requete sql qui permet d'effacer les occurences que tu auras sélectionné selon un critère.
@+



-------------------------------
Réponse au message :
-------------------------------

Allo... j'essaie d'effacer, dans ma table Data, tous les enregistrements dont le champ Name correspond a un certain nom.

A toute les fois qu'il arrive pour effacer le premier, il me sort ce message d'erreur:

Key column information is insufficient or incorrect. Too many rows were affected by update.

Voici mon code...

rsdata est du type Adodb.recordset




Public Function DeleteImageData(Image As String)


If rsData.RecordCount > 0 Then
rsData.MoveFirst

Do While rsData.EOF = False

If Trim(GetValue(rsData!name)) = Image then
rsData.Delete adAffectCurrent
rsData.Update
End If
rsData.MoveNext
Loop

End If
rsData.Update

End Function



Merci!!!!
mercredi 3 juillet 2002 à 18:32:15 | Re : Effacer un enregistrement

Charlie


peut-être bien... mais comment on fait ca...

Ce que je veux faire c'est d'effacer, dans mon recordset rsdata (qui corrspond a ma table data), les enregistrements qui ont le champ name= qqch


Je t'envois le bout de mon code qui ouvre ma base de donnée et qui l'active!


L'ordre d'exécution des fonctions est la suivante...

Si je crée une DB... createDB, activeDB,delete (qui marche pas), closeDB

Si j'ouvre une table existante... opendb,activedb,delete(...) closeDB




Option Explicit

Private cat As New ADOX.Catalog
Private Tbl As New ADOX.Table
Private cmdado As New ADODB.command
Private rsProject As New ADODB.Recordset
Private rsImages As New ADODB.Recordset
Private rsData As New ADODB.Recordset

Public Function CreateDB(link As String) As Boolean

On Error GoTo Annulation
cat.Create "provider=microsoft.jet.oledb.3.51;" & "Data source =" & link & ";"

With Tbl
.Name = "Project"
.Columns.append "Log Nb", adChar, 50
.Columns.append "Sample Nb", adChar, 50
.Columns.append "Name", adChar, 50
.Columns.append "Path", adChar, 255
.Columns.append "Images From", adChar, 255

End With

cat.Tables.append Tbl
Set Tbl = Nothing

With Tbl
.Name = "Images"
.Columns.append "CalculDone", adBoolean
.Columns.append "BorderDone", adBoolean
.Columns.append "SplitDone", adBoolean
.Columns.append "ClassDone", adBoolean
.Columns.append "Name", adChar, 50
.Columns.append "Dimension", adChar, 50
End With
cat.Tables.append Tbl
Set Tbl = Nothing

With Tbl
.Name = "Data"

.Columns.append "Name", adChar, 50
.Columns.append "Indice", adInteger
.Columns.append "Class", adInteger
.Columns.append "Wall Area", adDouble
.Columns.append "Lumen Area", adDouble
.Columns.append "Fibre Per", adDouble
.Columns.append "Lumen Per", adDouble
.Columns.append "CenterLine", adDouble
.Columns.append "Fibre Width", adDouble
.Columns.append "Fibre Thick", adDouble
.Columns.append "Max Diam", adDouble
.Columns.append "Min Diam", adDouble
.Columns.append "Mean Diam", adDouble
.Columns.append "Aspect Ratio", adDouble
End With
cat.Tables.append Tbl
Set Tbl = Nothing

ActiveDB
CreateDB = True

Exit Function
Annulation:
CreateDB = False
MsgBox "CreateDB Error! " & error, vbExclamation, "ERROR"
CloseDB

End Function

Private Function ActiveDB()

On Error GoTo Annulation

cmdado.ActiveConnection = cat.ActiveConnection
cmdado.CommandText = " select * from Project"

rsProject.CursorLocation = adUseClient
rsProject.CursorType = adOpenDynamic
rsProject.LockType = adLockOptimistic
rsProject.Open cmdado

cmdado.CommandText = " select * from Images"
rsImages.CursorLocation = adUseClient
rsImages.CursorType = adOpenDynamic
rsImages.LockType = adLockOptimistic
rsImages.Open cmdado


cmdado.CommandText = " select * from Data " ' order by name indice asc"
rsData.CursorLocation = adUseClient
rsData.CursorType = adOpenDynamic
rsData.LockType = adLockOptimistic
rsData.Open cmdado

ActiveDB = True
Exit Function

Annulation:
ActiveDB = False
MsgBox "ActiveDB Error! " & error, vbExclamation, "ERROR"

CloseDB

End Function

Public Function OpenDB(link As String) As Boolean

On Error GoTo Annulation
cat.ActiveConnection = "provider=microsoft.jet.oledb.3.51;" & "Data source =" & link & ";"

If ActiveDB = True Then
OpenDB = True
Else
OpenDB = False
End If
Exit Function
Annulation:
OpenDB = False

MsgBox "OpenDB Error! " & error, vbExclamation, "ERROR"

CloseDB

End Function

Public Function CloseDB()
On Error GoTo Annulation

Set cat = Nothing
Set Tbl = Nothing
Set cmdado = Nothing
Set rsProject = Nothing
Set rsImages = Nothing
Set rsData = Nothing

Exit Function
Annulation:

MsgBox "CloseDB Error! " & error, vbExclamation, "ERROR"

End Function

mercredi 3 juillet 2002 à 22:41:31 | Re : Effacer un enregistrement

Charlie


Allo...

J'ai finalement trouvé comment faire. Seul petit probleme, comment on fait pour updater le recordset apres le DELETE.. le seul moyen que j'ai trouvé est de fermé moin recordset et de le réouvrir mais il doit bien y avoir un genre d'update???


-------------------------------
Réponse au message :
-------------------------------


peut-être bien... mais comment on fait ca...

Ce que je veux faire c'est d'effacer, dans mon recordset rsdata (qui corrspond a ma table data), les enregistrements qui ont le champ name= qqch


Je t'envois le bout de mon code qui ouvre ma base de donnée et qui l'active!


L'ordre d'exécution des fonctions est la suivante...

Si je crée une DB... createDB, activeDB,delete (qui marche pas), closeDB

Si j'ouvre une table existante... opendb,activedb,delete(...) closeDB




Option Explicit

Private cat As New ADOX.Catalog
Private Tbl As New ADOX.Table
Private cmdado As New ADODB.command
Private rsProject As New ADODB.Recordset
Private rsImages As New ADODB.Recordset
Private rsData As New ADODB.Recordset

Public Function CreateDB(link As String) As Boolean

On Error GoTo Annulation
cat.Create "provider=microsoft.jet.oledb.3.51;" & "Data source =" & link & ";"

With Tbl
.Name = "Project"
.Columns.append "Log Nb", adChar, 50
.Columns.append "Sample Nb", adChar, 50
.Columns.append "Name", adChar, 50
.Columns.append "Path", adChar, 255
.Columns.append "Images From", adChar, 255

End With

cat.Tables.append Tbl
Set Tbl = Nothing

With Tbl
.Name = "Images"
.Columns.append "CalculDone", adBoolean
.Columns.append "BorderDone", adBoolean
.Columns.append "SplitDone", adBoolean
.Columns.append "ClassDone", adBoolean
.Columns.append "Name", adChar, 50
.Columns.append "Dimension", adChar, 50
End With
cat.Tables.append Tbl
Set Tbl = Nothing

With Tbl
.Name = "Data"

.Columns.append "Name", adChar, 50
.Columns.append "Indice", adInteger
.Columns.append "Class", adInteger
.Columns.append "Wall Area", adDouble
.Columns.append "Lumen Area", adDouble
.Columns.append "Fibre Per", adDouble
.Columns.append "Lumen Per", adDouble
.Columns.append "CenterLine", adDouble
.Columns.append "Fibre Width", adDouble
.Columns.append "Fibre Thick", adDouble
.Columns.append "Max Diam", adDouble
.Columns.append "Min Diam", adDouble
.Columns.append "Mean Diam", adDouble
.Columns.append "Aspect Ratio", adDouble
End With
cat.Tables.append Tbl
Set Tbl = Nothing

ActiveDB
CreateDB = True

Exit Function
Annulation:
CreateDB = False
MsgBox "CreateDB Error! " & error, vbExclamation, "ERROR"
CloseDB

End Function

Private Function ActiveDB()

On Error GoTo Annulation

cmdado.ActiveConnection = cat.ActiveConnection
cmdado.CommandText = " select * from Project"

rsProject.CursorLocation = adUseClient
rsProject.CursorType = adOpenDynamic
rsProject.LockType = adLockOptimistic
rsProject.Open cmdado

cmdado.CommandText = " select * from Images"
rsImages.CursorLocation = adUseClient
rsImages.CursorType = adOpenDynamic
rsImages.LockType = adLockOptimistic
rsImages.Open cmdado


cmdado.CommandText = " select * from Data " ' order by name indice asc"
rsData.CursorLocation = adUseClient
rsData.CursorType = adOpenDynamic
rsData.LockType = adLockOptimistic
rsData.Open cmdado

ActiveDB = True
Exit Function

Annulation:
ActiveDB = False
MsgBox "ActiveDB Error! " & error, vbExclamation, "ERROR"

CloseDB

End Function

Public Function OpenDB(link As String) As Boolean

On Error GoTo Annulation
cat.ActiveConnection = "provider=microsoft.jet.oledb.3.51;" & "Data source =" & link & ";"

If ActiveDB = True Then
OpenDB = True
Else
OpenDB = False
End If
Exit Function
Annulation:
OpenDB = False

MsgBox "OpenDB Error! " & error, vbExclamation, "ERROR"

CloseDB

End Function

Public Function CloseDB()
On Error GoTo Annulation

Set cat = Nothing
Set Tbl = Nothing
Set cmdado = Nothing
Set rsProject = Nothing
Set rsImages = Nothing
Set rsData = Nothing

Exit Function
Annulation:

MsgBox "CloseDB Error! " & error, vbExclamation, "ERROR"

End Function


dimanche 10 novembre 2002 à 16:38:33 | Re : Effacer un enregistrement

ova13

Ben tu mets tout simplement la methode .update sur ton recordset !

Moi je dis "CONICHON AHHHH !!"

dimanche 10 novembre 2002 à 17:07:30 | Re : Effacer un enregistrement

Charlie

Et moi je te réponds... essaie le donc avant de dire n'importe quoi sur des messages vieux de 4 mois!!!

.update ne fonctionne pas... Je l'avais essayé dans le temps!


Moi je dis "P'tit Joe connaissant qui ne sais pas tout!!"
-------------------------------
Réponse au message :
-------------------------------

Ben tu mets tout simplement la methode .update sur ton recordset !

Moi je dis "CONICHON AHHHH !!"




Cette discussion est classée dans : enregistrement, end, effacer, update, rsdata


Répondre à ce message

Sujets en rapport avec ce message

Effacer un enregistrement [ par Charlie ] Allo... j'essaie d'effacer, dans ma table Data, tous les enregistrements dont le champ Name correspond a un certain nom.A toute les fois qu'il arrive Delete dans un RecordSet [ par Charlie ] Allo... j'essaie d'effacer, dans ma table Data, tous les enregistrements dont le champ Name correspond a un certain nom.A toute les fois qu'il arrive probleme de UPDATE sur une fable SQL [ par garnier54 ] bonjour, j'ai un problème de mise a jour, mon programme plante lors de l'update, avec la message suivant et impossible de trouver l 'erreur !! ma tab Exécution trop rapide [ par themik ] Voici mon code:------------------    If Mid(Data, 1, 4) = "USER" Then        If Trim(Mid(Data, 5, 12)) = Nick Then            ListeADD = 5 + 12        effacer enregistrement [ par Luluce25 ] bonjour, je voudrai supprimer des enregistrements d'une table, mais rien ne se passe. voici mon code permettant la suppression : Set Base [VB6] : Création composant et enregistrement d'une propriété [ par Foub12 ] Bonjour, pour un projet, je dois créer un composant ActiveX en Visual Basic 6...Et j'ai un petit problème avec l'enregistrement d'une propriété...La v Enregistrement connexe de 2 tables + update????? [ par Marnilla ] Y a -t-il possibilité de faire une modification par un form en VB6 dans une tables lié à une autre par un meme champ sans passer par un delete?En fait .addnew et .update ? [ par black_ange1 ] Voila pour faire simple j'ai une grille et j'ai des données qui vienne d'une table un peu comme une facture. Je pouvoir ajouter des lignes et promene suppression d'un enregistrement [ par mokoli2005 ] bonjour,j'ai un problème lorsque je csupprime un enregistrement dans une table.je vous donne ici une partie de mon code avant de vous exposer mon prob effacer image access [ par ecranbleu27 ] bjren vb6 + Accessvia adoj'ai un formulaire ou en autre on peut inserer une image (jpg)pour l'inclure ds access, pas de pb,or dans le cadre d'une modi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,952 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales