quand je fais une requete sql libre (les utilisateurs saisissent la
requete sql eux memes) il y a des erreurs de syntaxe possibles. dans ce
cas j'ai un message d'erreur et l'application se ferme.
ce que je voudrais c'est proposer aux utilisateurs qui se sont trompés
de pouvoir rectifier leur ligne de code sql....
je pense qu'il faut utiliser on error goto....mais ensuite je ne sais
pas trop comment faire.
merci,
bruno
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Marc
"dav" a écrit dans le message de news:41a765b5$0$31681$
quand je fais une requete sql libre (les utilisateurs saisissent la requete sql eux memes) il y a des erreurs de syntaxe possibles. dans ce cas j'ai un message d'erreur et l'application se ferme. ce que je voudrais c'est proposer aux utilisateurs qui se sont trompés de pouvoir rectifier leur ligne de code sql.... je pense qu'il faut utiliser on error goto....mais ensuite je ne sais pas trop comment faire.
Hello,
voici un mini exemple qui montre le mécanisme général de traitement des erreurs avec On Error Goto:
-------------------------------------------------------- Private Sub Command1_Click() Dim a As Integer
' si une erreur, on saute au label sql_error On Error GoTo sql_error
' debut du traitement ' Execute la query SQL ' enlevez le commentaire ci dessous pour simuler une erreur ' de syntaxe SQL ' a = a / 0
MsgBox "Tout c'est bien passé si je suis ici" fin_normale: Exit Sub ' on force ici un retour de Sub
' Oops, si on est la, une erreur est survenue ' on peut tester le type d'erreur avec l'obejet Err (voir la doc) sql_error: MsgBox "Erreur de synatxe dans la query SQL, corrigez SVP" Resume fin_normale ' le resume permet d'annuler l'erreur et ' de repartir ou on veut End Sub --------------------------------------------------------
Voir la documentation de l'obet Err pour plus de détails.
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
"dav" <dav49400-spam@wanadoo.fr> a écrit dans le message de
news:41a765b5$0$31681$8fcfb975@news.wanadoo.fr...
quand je fais une requete sql libre (les utilisateurs saisissent la
requete sql eux memes) il y a des erreurs de syntaxe possibles. dans ce
cas j'ai un message d'erreur et l'application se ferme.
ce que je voudrais c'est proposer aux utilisateurs qui se sont trompés
de pouvoir rectifier leur ligne de code sql....
je pense qu'il faut utiliser on error goto....mais ensuite je ne sais
pas trop comment faire.
Hello,
voici un mini exemple qui montre le mécanisme général de traitement des
erreurs avec On Error Goto:
--------------------------------------------------------
Private Sub Command1_Click()
Dim a As Integer
' si une erreur, on saute au label sql_error
On Error GoTo sql_error
' debut du traitement
' Execute la query SQL
' enlevez le commentaire ci dessous pour simuler une erreur
' de syntaxe SQL
' a = a / 0
MsgBox "Tout c'est bien passé si je suis ici"
fin_normale:
Exit Sub ' on force ici un retour de Sub
' Oops, si on est la, une erreur est survenue
' on peut tester le type d'erreur avec l'obejet Err (voir la doc)
sql_error:
MsgBox "Erreur de synatxe dans la query SQL, corrigez SVP"
Resume fin_normale ' le resume permet d'annuler l'erreur et
' de repartir ou on veut
End Sub
--------------------------------------------------------
Voir la documentation de l'obet Err pour plus de détails.
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"dav" a écrit dans le message de news:41a765b5$0$31681$
quand je fais une requete sql libre (les utilisateurs saisissent la requete sql eux memes) il y a des erreurs de syntaxe possibles. dans ce cas j'ai un message d'erreur et l'application se ferme. ce que je voudrais c'est proposer aux utilisateurs qui se sont trompés de pouvoir rectifier leur ligne de code sql.... je pense qu'il faut utiliser on error goto....mais ensuite je ne sais pas trop comment faire.
Hello,
voici un mini exemple qui montre le mécanisme général de traitement des erreurs avec On Error Goto:
-------------------------------------------------------- Private Sub Command1_Click() Dim a As Integer
' si une erreur, on saute au label sql_error On Error GoTo sql_error
' debut du traitement ' Execute la query SQL ' enlevez le commentaire ci dessous pour simuler une erreur ' de syntaxe SQL ' a = a / 0
MsgBox "Tout c'est bien passé si je suis ici" fin_normale: Exit Sub ' on force ici un retour de Sub
' Oops, si on est la, une erreur est survenue ' on peut tester le type d'erreur avec l'obejet Err (voir la doc) sql_error: MsgBox "Erreur de synatxe dans la query SQL, corrigez SVP" Resume fin_normale ' le resume permet d'annuler l'erreur et ' de repartir ou on veut End Sub --------------------------------------------------------
Voir la documentation de l'obet Err pour plus de détails.
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
Illinger Philippe
"dav" wrote in message news:41a765b5$0$31681$
quand je fais une requete sql libre (les utilisateurs saisissent la requete sql eux memes) il y a des erreurs de syntaxe possibles. dans ce cas j'ai un message d'erreur et l'application se ferme. ce que je voudrais c'est proposer aux utilisateurs qui se sont trompés de pouvoir rectifier leur ligne de code sql.... je pense qu'il faut utiliser on error goto....mais ensuite je ne sais pas trop comment faire. merci, bruno
Quelque chose du genre :
Dim strerror As String, errloop As Error
For Each errloop In Errors With errloop strerror = "Erreur n°" & .Number & vbCr & .Description End With Next
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.801 / Virus Database: 544 - Release Date: 24/11/2004
"dav" <dav49400-spam@wanadoo.fr> wrote in message news:41a765b5$0$31681$8fcfb975@news.wanadoo.fr...
quand je fais une requete sql libre (les utilisateurs saisissent la
requete sql eux memes) il y a des erreurs de syntaxe possibles. dans ce
cas j'ai un message d'erreur et l'application se ferme.
ce que je voudrais c'est proposer aux utilisateurs qui se sont trompés
de pouvoir rectifier leur ligne de code sql....
je pense qu'il faut utiliser on error goto....mais ensuite je ne sais
pas trop comment faire.
merci,
bruno
Quelque chose du genre :
Dim strerror As String, errloop As Error
For Each errloop In Errors
With errloop
strerror = "Erreur n°" & .Number & vbCr & .Description
End With
Next
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.801 / Virus Database: 544 - Release Date: 24/11/2004
quand je fais une requete sql libre (les utilisateurs saisissent la requete sql eux memes) il y a des erreurs de syntaxe possibles. dans ce cas j'ai un message d'erreur et l'application se ferme. ce que je voudrais c'est proposer aux utilisateurs qui se sont trompés de pouvoir rectifier leur ligne de code sql.... je pense qu'il faut utiliser on error goto....mais ensuite je ne sais pas trop comment faire. merci, bruno
Quelque chose du genre :
Dim strerror As String, errloop As Error
For Each errloop In Errors With errloop strerror = "Erreur n°" & .Number & vbCr & .Description End With Next
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.801 / Virus Database: 544 - Release Date: 24/11/2004
dav
oui, ça me donne le nuémro et le code de l'erreur, mais je suis viré de l'application.... comment empecher d'etre sorti et permettre a l'utilisateur de corriger son erreur de syntaxe...? merci, dav
Illinger Philippe a écrit :
"dav" wrote in message news:41a765b5$0$31681$
quand je fais une requete sql libre (les utilisateurs saisissent la requete sql eux memes) il y a des erreurs de syntaxe possibles. dans ce cas j'ai un message d'erreur et l'application se ferme. ce que je voudrais c'est proposer aux utilisateurs qui se sont trompés de pouvoir rectifier leur ligne de code sql.... je pense qu'il faut utiliser on error goto....mais ensuite je ne sais pas trop comment faire. merci, bruno
Quelque chose du genre :
Dim strerror As String, errloop As Error
For Each errloop In Errors With errloop strerror = "Erreur n°" & .Number & vbCr & .Description End With Next
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.801 / Virus Database: 544 - Release Date: 24/11/2004
oui, ça me donne le nuémro et le code de l'erreur, mais je suis viré de
l'application....
comment empecher d'etre sorti et permettre a l'utilisateur de corriger
son erreur de syntaxe...?
merci,
dav
Illinger Philippe a écrit :
"dav" <dav49400-spam@wanadoo.fr> wrote in message news:41a765b5$0$31681$8fcfb975@news.wanadoo.fr...
quand je fais une requete sql libre (les utilisateurs saisissent la
requete sql eux memes) il y a des erreurs de syntaxe possibles. dans ce
cas j'ai un message d'erreur et l'application se ferme.
ce que je voudrais c'est proposer aux utilisateurs qui se sont trompés
de pouvoir rectifier leur ligne de code sql....
je pense qu'il faut utiliser on error goto....mais ensuite je ne sais
pas trop comment faire.
merci,
bruno
Quelque chose du genre :
Dim strerror As String, errloop As Error
For Each errloop In Errors
With errloop
strerror = "Erreur n°" & .Number & vbCr & .Description
End With
Next
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.801 / Virus Database: 544 - Release Date: 24/11/2004
oui, ça me donne le nuémro et le code de l'erreur, mais je suis viré de l'application.... comment empecher d'etre sorti et permettre a l'utilisateur de corriger son erreur de syntaxe...? merci, dav
Illinger Philippe a écrit :
"dav" wrote in message news:41a765b5$0$31681$
quand je fais une requete sql libre (les utilisateurs saisissent la requete sql eux memes) il y a des erreurs de syntaxe possibles. dans ce cas j'ai un message d'erreur et l'application se ferme. ce que je voudrais c'est proposer aux utilisateurs qui se sont trompés de pouvoir rectifier leur ligne de code sql.... je pense qu'il faut utiliser on error goto....mais ensuite je ne sais pas trop comment faire. merci, bruno
Quelque chose du genre :
Dim strerror As String, errloop As Error
For Each errloop In Errors With errloop strerror = "Erreur n°" & .Number & vbCr & .Description End With Next
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.801 / Virus Database: 544 - Release Date: 24/11/2004
Jean-Marc
"dav" a écrit dans le message de news:41a77e09$0$31681$
oui, ça me donne le nuémro et le code de l'erreur, mais je suis viré de l'application.... comment empecher d'etre sorti et permettre a l'utilisateur de corriger son erreur de syntaxe...?
voir mon post précédent qui explique tout ça.
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
"dav" <dav49400-spam@wanadoo.fr> a écrit dans le message de
news:41a77e09$0$31681$8fcfb975@news.wanadoo.fr...
oui, ça me donne le nuémro et le code de l'erreur, mais je suis viré de
l'application....
comment empecher d'etre sorti et permettre a l'utilisateur de corriger
son erreur de syntaxe...?
voir mon post précédent qui explique tout ça.
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"dav" a écrit dans le message de news:41a77e09$0$31681$
oui, ça me donne le nuémro et le code de l'erreur, mais je suis viré de l'application.... comment empecher d'etre sorti et permettre a l'utilisateur de corriger son erreur de syntaxe...?
voir mon post précédent qui explique tout ça.
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
dav
désolé Jean Marc mais j'ai essayé ton code, ça n'empêche pas que je sois sorti de l'appli. j'ai fais exactement comme tu dis, je suis allé voir dans l'aide, mais ton résume vers une ligne exit sub n'empeche pas d'etre viré de l'appli. je voudrais pouvoir retourner vers la string SQL pour la modifier et relancer le recordset.... merci, dav
Jean-Marc a écrit :
"dav" a écrit dans le message de news:41a77e09$0$31681$
oui, ça me donne le nuémro et le code de l'erreur, mais je suis viré de l'application.... comment empecher d'etre sorti et permettre a l'utilisateur de corriger son erreur de syntaxe...?
voir mon post précédent qui explique tout ça.
désolé Jean Marc mais j'ai essayé ton code, ça n'empêche pas que je sois
sorti de l'appli. j'ai fais exactement comme tu dis, je suis allé voir
dans l'aide, mais ton résume vers une ligne exit sub n'empeche pas
d'etre viré de l'appli.
je voudrais pouvoir retourner vers la string SQL pour la modifier et
relancer le recordset....
merci,
dav
Jean-Marc a écrit :
"dav" <dav49400-spam@wanadoo.fr> a écrit dans le message de
news:41a77e09$0$31681$8fcfb975@news.wanadoo.fr...
oui, ça me donne le nuémro et le code de l'erreur, mais je suis viré de
l'application....
comment empecher d'etre sorti et permettre a l'utilisateur de corriger
son erreur de syntaxe...?
désolé Jean Marc mais j'ai essayé ton code, ça n'empêche pas que je sois sorti de l'appli. j'ai fais exactement comme tu dis, je suis allé voir dans l'aide, mais ton résume vers une ligne exit sub n'empeche pas d'etre viré de l'appli. je voudrais pouvoir retourner vers la string SQL pour la modifier et relancer le recordset.... merci, dav
Jean-Marc a écrit :
"dav" a écrit dans le message de news:41a77e09$0$31681$
oui, ça me donne le nuémro et le code de l'erreur, mais je suis viré de l'application.... comment empecher d'etre sorti et permettre a l'utilisateur de corriger son erreur de syntaxe...?
voir mon post précédent qui explique tout ça.
YannX
Bnsr,
Comme principe de travail, il faut "encapsuler" l'appel SQL dans une boucle d'essai avec Rappel de recorrection de l'erreur :
quelque chose comme : -------------------------------------------------------- Private Sub Command1_Click() Dim a As Integer Dim a_traiter as Boolean a_traiter = True ' si une erreur, on saute au label sql_error While a_traiter ' => procédure de saisie SQL$ On Error GoTo sql_error
' debut du traitement ' Execute la query SQL$
On Error Go To 0 ' cela s'est bien passé a_traiter = False ' on désactive la boucle et on continuera le traitement
' ............
if ( Not a_traiter ) then goto _normale -----------------------------> vers fin_normale ' Oops, si on est la, une erreur est survenue sql_error: Resume Next '=> explication de l'erreur
Wend ' on boucle tant que a_traiter fin_normale: Exit Sub ' on force la sortie End Sub --------------------------------------------------------
Est-ce plus clair ? @+
"dav" a écrit dans le message de news:41a7865f$0$785$
désolé Jean Marc mais j'ai essayé ton code, ça n'empêche pas que je sois sorti de l'appli. j'ai fais exactement comme tu dis, je suis allé voir dans l'aide, mais ton résume vers une ligne exit sub n'empeche pas d'etre viré de l'appli. je voudrais pouvoir retourner vers la string SQL pour la modifier et relancer le recordset.... merci, dav
Jean-Marc a écrit :
> "dav" a écrit dans le message de > news:41a77e09$0$31681$ > >>oui, ça me donne le nuémro et le code de l'erreur, mais je suis viré de >>l'application.... >>comment empecher d'etre sorti et permettre a l'utilisateur de corriger >>son erreur de syntaxe...? > > > > > voir mon post précédent qui explique tout ça. >
Bnsr,
Comme principe de travail,
il faut "encapsuler" l'appel SQL dans une boucle d'essai
avec Rappel de recorrection de l'erreur :
quelque chose comme :
--------------------------------------------------------
Private Sub Command1_Click()
Dim a As Integer
Dim a_traiter as Boolean
a_traiter = True
' si une erreur, on saute au label sql_error
While a_traiter
' => procédure de saisie SQL$
On Error GoTo sql_error
' debut du traitement
' Execute la query SQL$
On Error Go To 0 ' cela s'est bien passé
a_traiter = False ' on désactive la boucle et on continuera le
traitement
' ............
if ( Not a_traiter ) then goto
_normale -----------------------------> vers fin_normale
' Oops, si on est la, une erreur est survenue
sql_error:
Resume Next
'=> explication de l'erreur
Wend ' on boucle tant que a_traiter
fin_normale:
Exit Sub ' on force la sortie
End Sub
--------------------------------------------------------
Est-ce plus clair ?
@+
"dav" <dav49400-spam@wanadoo.fr> a écrit dans le message de
news:41a7865f$0$785$8fcfb975@news.wanadoo.fr...
désolé Jean Marc mais j'ai essayé ton code, ça n'empêche pas que je sois
sorti de l'appli. j'ai fais exactement comme tu dis, je suis allé voir
dans l'aide, mais ton résume vers une ligne exit sub n'empeche pas
d'etre viré de l'appli.
je voudrais pouvoir retourner vers la string SQL pour la modifier et
relancer le recordset....
merci,
dav
Jean-Marc a écrit :
> "dav" <dav49400-spam@wanadoo.fr> a écrit dans le message de
> news:41a77e09$0$31681$8fcfb975@news.wanadoo.fr...
>
>>oui, ça me donne le nuémro et le code de l'erreur, mais je suis viré de
>>l'application....
>>comment empecher d'etre sorti et permettre a l'utilisateur de corriger
>>son erreur de syntaxe...?
>
>
>
>
> voir mon post précédent qui explique tout ça.
>
Comme principe de travail, il faut "encapsuler" l'appel SQL dans une boucle d'essai avec Rappel de recorrection de l'erreur :
quelque chose comme : -------------------------------------------------------- Private Sub Command1_Click() Dim a As Integer Dim a_traiter as Boolean a_traiter = True ' si une erreur, on saute au label sql_error While a_traiter ' => procédure de saisie SQL$ On Error GoTo sql_error
' debut du traitement ' Execute la query SQL$
On Error Go To 0 ' cela s'est bien passé a_traiter = False ' on désactive la boucle et on continuera le traitement
' ............
if ( Not a_traiter ) then goto _normale -----------------------------> vers fin_normale ' Oops, si on est la, une erreur est survenue sql_error: Resume Next '=> explication de l'erreur
Wend ' on boucle tant que a_traiter fin_normale: Exit Sub ' on force la sortie End Sub --------------------------------------------------------
Est-ce plus clair ? @+
"dav" a écrit dans le message de news:41a7865f$0$785$
désolé Jean Marc mais j'ai essayé ton code, ça n'empêche pas que je sois sorti de l'appli. j'ai fais exactement comme tu dis, je suis allé voir dans l'aide, mais ton résume vers une ligne exit sub n'empeche pas d'etre viré de l'appli. je voudrais pouvoir retourner vers la string SQL pour la modifier et relancer le recordset.... merci, dav
Jean-Marc a écrit :
> "dav" a écrit dans le message de > news:41a77e09$0$31681$ > >>oui, ça me donne le nuémro et le code de l'erreur, mais je suis viré de >>l'application.... >>comment empecher d'etre sorti et permettre a l'utilisateur de corriger >>son erreur de syntaxe...? > > > > > voir mon post précédent qui explique tout ça. >