|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Eric Inscription : octobre 2008 Messages : 66 ![]() |
Bonjour,
Le post suivant indique que lorsqu'un TSQLQuery est actif il en résulte une erreur à la compilation. http://mantis.freepascal.org/view.php?id=11946&nbn=3 Alors je vais encore vous demander conseil. Objectif réaliser une fenêtre de recherche et de saisie d'un enregistrement. Sont posés sur la form : Partie recherche d'un enregistrement (formulaire de recherche sur <> champs) : un TSqlQuery pour la recherche nommé sql_benef_rec : actif false il est initialisé et activé lors de l'action recherche un Tdatasource ds_benef_rec lié au tsqlquery sql_benef_rec et un dbgrid db_grid_benef lié au datasource ds_benef ce dbgrid permet de sélectinner le bon enregistrement si il y a des doublons sur le nom. le tsqlquery est relié au tmysqlconnection de la form principale. Jusque là pas de problème pas d'erreur à la compilation et mon formulaire de recherche fonctionne. Sont ensuite posés sur la form les champs pour l'affichage de l'enregistrement sélectionné : un tsqlquery nommé sql_benef_gestion, un datasource ds_benef_gest des dbEdit db_ed_nom, db_ed_prenom et un DBnavigator appelé db_nav_gest_benef ..... Les valeurs suivantes sont renseignées en dur dans l'inspecteur de propriétés : Tsql_benef_gestion.SQL := 'Select * from benef'; Tsql_benef_gestion.Active:=True; ds_benef_gestion.DataSet:=sql_benef_gestion; db_ed_nom.Datasource:=ds_benef_gestion; db_nav_gest_benef.Datasource:=ds_benef_gestion; cela permet d'avoir la liste des champs dans le combobox db_ed_nom.DataField. Cette configuration ne fonctionne pas à la compilation. Elle me semblait sympa car elle me permettait alors d'utiliser les fonctionalités du composant Dbnavigator et d'avoir la liste des champs de ma table disponible dans le comboBox datafields du composant dbedit. Que vaut-il alors mieux faire ? Ne pas activer le TSqlquery, renseigner la valeur de tsqlquery.sql utiliser des TEdit au lieu de DBedit et passer par une routine d'affectation exemple : Procedure affichage de l'enregistrement ed_nom.text:= sql_benef_gest.FieldByName('bnf_nom').AsString; ed_prenom.text:= sql_benef_gest.FieldByName('bnf_prenom').AsString; Je suis un peu dans le doute car ne pas utiliser dbnavigator m'oblige à tester la modification des Tedit etc... je ne peux plus bénéficier des avantages du dbnavigator. Merci de vos réponses. Eric Dernière modification par Alcatîz ; 07/12/2008 à 14h30. |
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Directeur des systèmes d'information Inscription : juillet 2007 Messages : 376 ![]() |
Bonjour Eric,
Envoi moi ton source sur Gmail, je regarde cela ce soir et te répondrai via le forum NOTA: Il vaut mieux piloter depuis une procédure de connexion la propriété active des dataset. Tu gardes comme cela la main sur le chargement des données. J'ai eu le même soucis que toi... Cordialement, Chris |
|
|
00
|
|
|
#3 | |
|
Candidat au titre de Membre du Club
![]() Eric Inscription : octobre 2008 Messages : 66 ![]() |
Bonjour
Je vais appliquer cette méthode sans activer les TsqlQuery je viens de faire un test et ça à l'air fonctionel. Citation:
Eric |
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Eric Inscription : octobre 2008 Messages : 66 ![]() |
Bonsoir,
Encore un revirement ... Finalement en utilisant le tdbedit avec un dataset et un tsqlquery activé en cours d'éxécution tout se passe bien. Eric |
|
00
|
|
|
#5 |
|
Membre Expert
![]() ![]() Directeur des systèmes d'information Inscription : juillet 2007 Messages : 376 ![]() |
Tu peux parfaitement conserver les dbedit et piloter a volonté la propriété .active des dataset. Cela fonctionne très bien
Tu nous tiens au courant |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com