bonjour à tous,
Pour une application j'ai besoin de récuperer des données sur un serveur sql avec une supervision sous fix32 de gefanuc.
Quelqu'un a t'il déjà fait ce genre de commande ?
merci
Version imprimable
bonjour à tous,
Pour une application j'ai besoin de récuperer des données sur un serveur sql avec une supervision sous fix32 de gefanuc.
Quelqu'un a t'il déjà fait ce genre de commande ?
merci
Bonjour,
Je connais pas trop FIX32, mais plus iFix (son succeseur) et Cimplicity (autre produit GeFanuc), je vais quand même essayer de t'aider.
Je dirai que tu dois regarder du coté des scripts VBA de FIX32. Faut créer un script VBA qui se connecte à ton SQL et fait la requête pour remonter tes données. Tu devrais trouver des exemples en VB/VBA sur devellopez.com ;)
Une fois ton script capable de lire SQL, te reste à écrire ces données dans tes tag Fix32.
On fait comme ça dans iFix et dans Cimplicity, ça doit être sensiblement pareil sous FIX32.
Essayes ce forum sinon, si tu ne le connais pas déjà :
http://gefanuc.bnsi.net/eforum/forumdisplay.php?f=80
bjr,
Je vais dire ce que j'ai fait déjà mais qui ne marche pas en tout je n'ai pas de valeur à l'ecran .
voici le code:
declare #VAR numeric picture
declare #RESULT[10][10] table picture
#VAR = SQL(nom_bd,"select","colonne1,colonne2,","nom_table","#RESULT")
Et sur la feuille j'ai crée des liens qui sont censés lire les valeurs suivantes
#RESULT[1][1] #RESULT[1][2] etc...
Pour le moment celà ne marche pas et pourtant j'ai suivi leur exemple illustré dans l'aide et dans les manuels.
Merci de me dire où est ce que j'ai foiré..
merci à bientôt
Bonjour,
J'utilise cette syntaxe qui fonctionne sans problème sur un fix32 version 7.0
Il est possible que ton "#result" ne fonctionne pas à cause des guillemets.Code:
1
2
3
4
5
6
7DECLARE #SEL NUMERIC SCRIPT DECLARE #NUM_RECET NUMERIC SCRIPT PROMPT #NUM_RECET "Entrez le numero de recette" #SEL = SQL("Recet"; "SELECT"; "Abrviation,Code,Intitule"; "nom_table"; "WHERE Num_recette = #NUM_RECET"; 0; #RECETTE) SETVAL FABRIQUE:ABREV.A_CV #RECETTE[1][0] SETVAL FABRIQUE:CODE.A_CV #RECETTE[1][1] SETVAL FABRIQUE:INTITULE.A_CV #RECETTE[1][2]
J'espère que cela t'aidera.
Bonne continuation
Merci de la réponse , je vais essayer de l'adapter à ma base et je te tiendrais au courant.
merci encore
bjr,
#RESULT[1][1] #RESULT[1][2] ne marchait pas .
La raison est que je pointais sur une seule table avec 3 colonnes , donc la valeur de la table arrivait dans
colonne 1 arrivait dans #RESULT[1][0]
colonne 2 --------> #RESULT[1][1]
colonne 3 --------> #RESULT[1][2]
Là tout marche bien
Un autre probleme :
Dans ma requete
declare #VAR numeric picture
declare #RESULT[10][10] table picture
#VAR = SQL(nom_bd,"select","colonne1,colonne2,","nom_table","WHERE code = #code","#RESULT")
La commande WHERE marche bien sauf que des fois dans certaines tables il arrive qu'on aie 2 code identiques.
Comment pourrais je ajouter un second filtre (par une autre table) ?
Entre les 2 commande WHERE que faut il mettre : , ou & ou rien
merci
Bonjour,
D'après ce que j'ai pu trouver tu dois pouvoir mettre
Malheureusement je suis en train de réinstaller mon poste de développement et je n'ai pas pu tester.Code:#VAR = SQL(nom_bd,"select","colonne1,colonne2,","nom_table1, nom_table2","WHERE code = #code AND col_table1 = col_table2","#RESULT")
Dès que je peux j'essaye et en attendant bon courage, et si tu as trop de problèmes tu peux peut-être passer par des commandes stockées dans ta base sql et les appeler avec des SQT et SQD.
Bon courage
bsr sethangel,
J'ai résolu mon probléme en creant une autre table SQL qui contient un resume de toutes les données dont j'ai besoin.
Celà m'evite de piocher dans différentes tables avec les erreurs que celà peut produire en cas d'oubli .
Maintenant il ne me reste plus qu'à lier ces données à des tags pour les exploiter avec mon PLC .
Cette partie n'est pas tres compliquée, mais si je bloque j 'appelerais au secours !!!
merci encore pour l'aide..
Bonjour soninkara,
Ta solution de regrouper les données est effectivement une excellente idée.
De rien pour l'aide et je reste à disposition si jamais tu bloques sur la suite.
Bonne continuation.
bonjour,
Je place le résultat de ma requête sql dans #RESULT
Maintenant j'ai une erreur quand le veux faire cette copie
STRCAT #NB #RESULT[1][2] car #NB est declaré dans la synoptique en tant que numeric picture alors que #RESULT est declaré en table global
Donc on ne peut pas copier 1 table vers 1 valeur numerique !!!
Comment pourrais je convertir ma table #RESULT[1][2] en numeric ?
merci