Pages

Affichage des articles dont le libellé est Gestion. Afficher tous les articles
Affichage des articles dont le libellé est Gestion. Afficher tous les articles

Gestion d'erreurs toute bête sujet

vendredi 28 mars 2014




Bonjour,
Je coince sur un truc tout bête et j'y perds mon latin (mon Delphi plutôt :D).
Voila un bout de code tout bête qui ouvre un fichier avec gestion d'erreur (try .. except). Volontairement le fichier n'existe pas, il y a donc une erreur 103 qui m'envoi dans le except. Normalement le except ne propage plus l'erreur, or à la fin du except j'ai une message box "erreur E/S 103". Comment éviter cela? Soit c'est l'age, soit je ne comprends plus rien aux exceptions! 8O
Voici le code:

Code:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

var Chem:String;
F_Data:TextFile;
S_Final:AnsiString;
Erreur:Boolean;
begin
S_Final:='Test';
Chem:='C:\';
ForceDirectories(Chem);
Erreur:=false;
try
AssignFile(F_Data,Chem+'Data.dat');
reset(F_Data);
writeln(F_Data,S_Final);
except
Erreur:=true;
end;
CloseFile(F_Data);


Merci de vos lumières.




Gestion de produits avec liste de valeurs dans une autre table sujet




Bonjour,
Je travaille actuellement sur un site en PHP qui nécessite une liste de produits.
Les produits appartiennent à des catégories qui leur donnent des propriétés (pays, taille, etc).
Certaines valeur de propriétés sont stockées dans des tables externes.

J'ai donc :
- Une table produit
- Une table propriétés
- Une table de liens entre les produits et ses propriétés. Elle contient également la valeur de la propriété en question
- D'autres tables avec des listes de valeurs pour certaines propriétés

sgbd.jpg

Quelle serait la meilleur façon de récupérer un produit, ses propriétés et leurs valeurs dans le cas où celles-ci sont stockées dans d'autres tables en un minimum de requêtes ?
Les sgbd ont toujours été hélas ma grande faiblesse.

Merci d'avance.











Images attachées










[XL-2007] Gestion Erreur dans un userform - CDate sujet




Bonjour,
Dans un formulaire, on doit saisir plusieurs dates.
Pour ce faire, j'utilise le code suivant :

Code:


1
2
3
4
5
6
7
8
9
10
11
Private Sub TbxPeriod1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'On accepte les chiffres et / Ou bien, si on tappe un double // dans la chaîne, elle est refusée.
If InStr("0123456789/", Chr(KeyAscii)) = 0 Or InStr(TbxPeriod1.Value, "//") Then KeyAscii = 0: Beep: _
MsgBox "Saisie incorrect, recommencez, SVP.", vbExclamation, "ERREUR"
TbxPeriod1.SetFocus
Dim Valeur As Byte
TbxPeriod1.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
Valeur = Len(TbxPeriod1)
If Valeur = 2 Or Valeur = 5 Then TbxPeriod1 = TbxPeriod1 & "/"
TbxPeriod1.AutoTab = True 'tabulation automatique
End Sub


puis pour retour sur la feuille excel, dans la procédure de validation (bouton Ok) :

Code:


Range("C6") = CDate(TbxPeriod1.Value)

il reste à gérer les erreurs de saisie de type jour supérieur à 31 et mois supérieur à 12 ; j'ai donc mis une gestion d'erreur, toujours dans la procédure de validation de type

Code:


1
2
3
4
5
6
7
8
On Error GoTo ErrorGestion  'Gestion des erreurs notamment saisie d'un mois >12
Range("C6") = CDate(TbxPeriod1.Value)
...
Unload Me
Exit Sub
ErrorGestion:
MsgBox "Erreur de saisie incohérente" & Chr(10) & Chr(10) & " Vérifier les dates ?", vbCritical, "ERREUR"
End Sub


Cela fonctionne pour les jours supérieurs à 31, mais pour les mois, si je saisie 01/13/2014, je n'ai pas de message d'erreur et dans le tableur, j'ai 13/01/2014 ---- HOREUR ! :calim2:
Quelqu'un peut-il m'aider svp.
Merci