Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : vb + access + ado [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (Sadnotrue)

lundi 31 mai 2004 à 17:50:48 | vb + access + ado

Sadnotrue

Bonjour à celle ou ceux qui liront ce post !!

Voilà je cherche à récupéré des infos d'une base de donnée accès sous vb. Ma connexion fonctionne mes requêtes passent, cependant il me reste un soucis important !!

Lorsque je passe dans ma table pour retrouver un info qui n'y est pas j'ai le droit à ce message !!

BOF ou EOF est égal à true ou l'enregistrement actuel a été supprimer.L'opération demandée nécessite un enregistrement actuel. (Ca c évident je fais un test pour être sur qu'au cas ou un utilsateur saisisse un truc qui n'existe pas, que ça lui renvois un msg.

sql = "SELECT HFR, NOM, Adresse, Adresse1, CP, Ville FROM clients where HFR = " & CMB_Numcli.Text & ";"

table.Open sql, db

If table.Fields("HFR") = CMB_Numcli.Text Then <- blocage

SB1.SimpleText = "La personne recherché a été trouvée"
MsgBox "La personne recherché a été trouvé", vbOKOnly
CMB_Nomcli.Text = table.Fields("NOM")
TXT_Ad.Text = table.Fields("ADRESSE")
If IsNull(table.Fields("ADRESSE1")) Then
TXT_Ad2.Text = ""
Else
TXT_Ad2.Text = table.Fields("ADRESSE1")
End If
TXT_CP.Text = table.Fields("CP")
TXT_Ville.Text = table.Fields("Ville")
Else
SB1.SimpleText = "La personne recherché n'existe pas"
MsgBox "La personne recherché n'existe pas", vbOKOnly
Exit Sub
End If

Mais quand je cherche qq1 qui existe ça passe normalement.

Merci d'avance à ceux qui liront ce post

Sadnotrue

lundi 31 mai 2004 à 17:51:30 | Re : vb + access + ado
lundi 31 mai 2004 à 17:52:12 | Re : vb + access + ado

Sadnotrue

au cas ou certains poserais la question les connexions sont faite :

Dim sql As String
Dim sql2 As String
Dim sql3 As String
Dim sql4 As String
Dim sql5 As String
Dim sql6 As String
Dim rtat As Boolean

Dim db As adodb.Connection
Dim table As adodb.Recordset
Dim table2 As adodb.Recordset
Dim table3 As adodb.Recordset

Set db = New adodb.Connection
Set table = New adodb.Recordset
Set table2 = New adodb.Recordset
Set table3 = New adodb.Recordset

mardi 1 juin 2004 à 00:56:19 | Re : vb + access + ado

pluplu

C'est inévitable lorsque ton recordset est parcouru jusqu'à EOF et qu'il ne trouve aucunne occurence, il te renvoie une erreur, la meilleure façon de détourner le probl. est de gérer l'erreur de cette façon:

avant ta commande SQL
on error goto monerreur

ici le code qui vas remplir ton recordset
ensuite à la fin de ton code ne pas oublier

Exit Sub


monerreur:
resume next

De cette façon tu détourne l'erreur et aucun message n'apparait.

Pascal Laurençon
Mieux vaut un petit clic que deux grandes claques..
Mieux vaut un naze bin qu'un naze tout court..

mardi 1 juin 2004 à 13:18:01 | Re : vb + access + ado

Sadnotrue

oki j'ai testé mais j'ai jamais compris la gestion des erreurs. Pourquoi quand ça fonctionne, c'est à dire qu'aucune erreur n'a été trouvé, il passe qd même de la zone erreur ?

EX :

Private Sub CMD_Recherche_Click()

On Error GoTo myerror
[...]

If table.Fields("HFR") = CMB_Numcli.Text Then <- erreur
SB1.SimpleText = "La personne recherché a été trouvée"
MsgBox "La personne recherché a été trouvé", vbOKOnly
CMB_Nomcli.Text = table.Fields("NOM")
TXT_Ad.Text = table.Fields("ADRESSE")
[...]


myerror:
SB1.SimpleText = "La personne recherché n'existe pas"
MsgBox "La personne recherché n'existe pas", vbOKOnly
CMB_Numcli.SetFocus
CMD_Clear.Value = True
Exit Sub

en gros qu'il y est une erreur ou pas il passe par my error à la fin pourquoi ?

Merci encore de ton aide !

mardi 1 juin 2004 à 15:06:05 | Re : vb + access + ado

pluplu

En fait c'est trais simple:
l'instruction goto nous vient de la prehistoire du basic à cette epoque on l'utilisait comme branchement à une sub-routine ex.
If tralala goto 10 (on numérotais encore les lignes à cette époque). Maintenant on ne voit plus que rarement cette commande entre autre dans le cas des gestions d'erreur.
Ton problème de passer par ta gestion d'erreur même si il n'y en a pas vient du fait que ta commande exit sub est mal placée, elle doit être juste au dessus de ton branchement.

Exit sub

myerror:
SB1.SimpleText = "La personne recherché n'existe pas"
MsgBox "La personne recherché n'existe pas", vbOKOnly
CMB_Numcli.SetFocus
.............
.............
End Sub



Pascal Laurençon
Mieux vaut un petit clic que deux grandes claques..
Mieux vaut un naze bin qu'un naze tout court..

mardi 1 juin 2004 à 20:14:34 | Re : vb + access + ado

Sadnotrue

Oki c bon ça fonctionne, merci beaucoup pour tes explications, mais pourrais tu m'expliquer pourquoi le fait d'avoir exit sub en dehors de l'erreur ça passe ?

Et merci encore !!!


mercredi 2 juin 2004 à 10:50:36 | Re : vb + access + ado

pluplu

Ben voilà ton code s'execute jusqu'a ce qu'il rencontre une erreur dès lors il est conditionné par l'instruction If error goto myerror et il saute directement depuis la ligne ou se produit l'erreur à la ligne de branchement myerror: sans passer par l'instruction exit sub par contre si il n'y a pas d'erreur le code effectue toutes les instructions jusqu'a la command exit sub qui fait que les instructions sous myerror: sont ignorées.

Pascal Laurençon
Mieux vaut un petit clic que deux grandes claques..
Mieux vaut un naze bin qu'un naze tout court..

mercredi 2 juin 2004 à 20:54:42 | Re : vb + access + ado

Sadnotrue


oki je te remercie de ton aide et pour tes explications qui ont été très clair. Merci encore tu me sauves

Partager ce qu'on sait c'est laisser une trace de notre passage...
Sadnotrue



Cette discussion est classé dans : text, table, fields, txt, existe


Répondre à ce message

Sujets en rapport avec ce message

Calcul dans un flexgrid. -> URGENT [ par Sadnotrue ] Salut !!Je cherche à multiplier des cellules positionnées sur la même ligne mais sur des colonnes différentes. Voici un extrait de mon code : I vb 6+ mysql - rs.moveprevious ne fonctionne pas [ par vanes2k3 ] bonjour à tous,je suis en train de développer une petite appli de gestion de divx, en m'appuyant sur une base mysql.j'utilise myOdbc, ainsi qu'une con Aide stage! VB-ACCESS TABLE-RELATION [ par YabLeo ] Salut ! Alors voilà j'aimerai savoir comment puis je créer le systeme de relation de "un à plusieurs" de visual basic entre deux tables sous visual ba Ajout ds une table SQLServer2000 [ par blowlagoon ] Bonjour,J'ai une table dans QlServer dans laquelle j'ajoute un nombre d'enregistrement (environ 10000). Le traitement est rapide car j'ai unebarre de Ajout ds une table SQLServer2000 [ par blowlagoon ] Bonjour,J'ai une table dans QlServer dans laquelle j'ajoute un nombre d'enregistrement (environ 10000). Le traitement est rapide car j'ai unebarre de mettre le text d'une textbox dans un fichier txt [ par milo2009 ] milo2009salut je voudrais savoir comment mettre le texte d'une textbox dans un fichier txtmerci create table [ par DarkLanfeust ] il me dit qu'il y a une faute de syntaxe dans cette requete, je trouve pashelp pleaseCREATE TABLE dictionnaire(N° int(8) PRIMARY KEY,francais1 text(50 Pb: Ajout données dans table / ADO [ par laurentkreps ] Je dois absolument ajouter le contenu de textbox dans une table "cours". J'ai essayé avec une requête SQL:txtsql = "INSERT INTO [Cours] (CJour, CHeure Ultra DÉbutant : Pourquoi sa affiche pas! [ par luke44 ] Voici mon Code :eti_dpa.Caption = ""Dim StrDN As StringDim StrEN As StringDim StrLand As StringDim StrEDV As StringDim StrDPA As StringStrDN = txt_dpa Inserer avec VB dans table access ! [ par YabLeo ] Salut alors voilà g un gros probleme qui m'empeche de continuer mon projet (en stage).Dans mon projet je créé une base access comme ceci :Set dbLbv =


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.