#1 Thu 10 September 2009 11:35
- Saturnin79
- Juste Inscrit !
- Date d'inscription: 18 Mar 2009
- Messages: 5
mapbasic : problème avec CommandInfo()
Bonjour,
J'ai créé une boîte de dialogue afin de récupérer une variable devant me servir après pour une requête SQL. Je souhaite vérifier que la saisie est correcte (String de 9 caractères par ex.) et donc, je voudrais utiliser le test if (on appuye sur ok) then (on lance la requête). J'utilise donc If CommandInfo(CMD_INFO_DLG_OK) (parce que je voudrais compléter avec une vérification du type de la variable pour éviter de lancer la requête - longue - pour rien si l'utilisateur fait une erreur de frappe : le string doit être de 9 caractères numériques et commencer par 079)
Aucun problème de compilation, mais lorsque je teste mon mbx avec mapinfo 9, j'obtiens le message d'erreur suivant : Variable ou Champ CMD_INFO_DLG_OK non défini.
Voici mon ptit bout de code pour créer la boîte de dialogue (repompée allègrement dans la doc mapinfo) :
Dim no_pacage as string
Dialog
Title "Saisie du numéro PACAGE"
Control StaticText
Title "Entrez le numéro PACAGE sous la forme 079XXXXXX :"
Control EditText
Into no_pacage
Control OKButton
Control CancelButton
If CommandInfo(CMD_INFO_DLG_OK)
Select * from RPG where Pacage=no_pacage into Selection
Browse * From Selection
End If
Merci pour votre aide
Hors ligne
#2 Thu 10 September 2009 11:45
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: mapbasic : problème avec CommandInfo()
Salut,
pour ton If --> Pourquoi ne pas utiliser ---> If left$(no_pacage,3)="079" and Len(no_pacage)=9
Afin de contrôler que no_pacage a bien 9 caractères commençant par 079.
Une autre piste pourquoi n'y a t'il pas de then
------> If CommandInfo(CMD_INFO_DLG_OK) Then ---> Sélection SQL
A+
Joël
Dernière modification par Spacejo (Thu 10 September 2009 11:49)
Hors ligne
#3 Thu 10 September 2009 13:32
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: mapbasic : problème avec CommandInfo()
Bonjour
D'accord avec Spacejo, j'ajoute que vous ne pouvez écrire CommandInfo(CMD_INFO_DLG_OK) que si votre code débute par Include "mapbasic.def"...
Sinon il faut écrire CommandInfo(1) ...
Hors ligne