Accueil > Forum > > > > Effacer un enregistrement
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
|
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
Livres en rapport
|
Derniers Blogs
[SHAREPOINT] NOUVELLE PRéSENTATION POUR LA DOCUMENTATION SHAREPOINT SUR TECHNET.[SHAREPOINT] NOUVELLE PRéSENTATION POUR LA DOCUMENTATION SHAREPOINT SUR TECHNET. par Patrick Guimonet
Vous l'avez peut-être déjà remarqué ? La documentation SharePoint a subit un cure de "relooking" et prend un style inspiré de Metro, donc plus sobre, plus pur, plus clair ! C'est sur fond blanc et ca ressemble à ça : Globaleme...
Cliquez pour lire la suite de l'article par Patrick Guimonet ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Forum
FEUILLE EXCELFEUILLE EXCEL par samanta26
Cliquez pour lire la suite par samanta26
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|