begin process at 2010 03 12 06:49:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Base de données

 > 

Autre

 > 

[urgent] Locate ne marche pas sur un champ référence


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[urgent] Locate ne marche pas sur un champ référence

lundi 3 décembre 2007 à 20:34:52 | [urgent] Locate ne marche pas sur un champ référence

MadM@tt

Membre Club
Bonjour à tous,

désolé pour le tag [urgent] mais je n'ai que la nuit pour finir ce boulot

Je suis sur Delphi 5, et malgré toutes mes recherches, impossible de résoudre mon problème :
J'ai ajouté un champ référence à une table, et lorsque je veux faire une recherche sur ce champ à l'aide de Locate, delphi me sort l'erreur suivante ::
Le champ 'NomPays' ne peut pas être utilisé dans une expression filtre

Voici la ligne en question :

DataModuleAgence.TableVoyage.Locate('NOMPAYS',EditNomPays.Text,[]);

PS : au passage quand je veux rajouter l'option loCaseInsensitive Delphi me dit que loCaseInsensitive n'est pas déclaré et ne veux pas compiler, si vous avez une solution pour ça aussi je suis preneur merci.

Merci beaucoup

- MadMatt -

 www.choisir-une-entreprise.com

lundi 3 décembre 2007 à 23:35:54 | Re : [urgent] Locate ne marche pas sur un champ référence

tilab

Réponse acceptée !
Salut,

de quel type est le champ NomPays?
loCaseInsensitive est contenu dans l'unit DB; est-elle déclarée dans les uses?

Alex
lundi 3 décembre 2007 à 23:38:42 | Re : [urgent] Locate ne marche pas sur un champ référence

MadM@tt

Membre Club
Merci pour loCaseInsensitive c'était bien ça ;)

Pour NomPays, c'est de type fkLookUp. Apparement ça serait ça le problème, mais comment faire une recherche sur un champ référence alors ? (je pensais passer par un filtre, mais bon ça aura pas le meme rendu...)

Merci pour la réponse, si tu avais d'autres idées ^^

- MadMatt -

 www.choisir-une-entreprise.com

lundi 3 décembre 2007 à 23:43:09 | Re : [urgent] Locate ne marche pas sur un champ référence

tilab

Hello,
Je me suis mal exprimé: Comment as-tu défini ton champ NomPays dans la base de donnée et quel type de base utilises-tu?

Alex
lundi 3 décembre 2007 à 23:48:49 | Re : [urgent] Locate ne marche pas sur un champ référence

MadM@tt

Membre Club
Ah mince autant pour moi,

Alors la base de données, j'ai un peu de mal à trouver laquelle c'est, a vrai dire je suis dans mon école, donc j'ai un peu du mal à trouver des infos. Les fichiers sont en .dbf, je vois à des endroits "dBase", ou alors "ODBC", bref j'espère que y'avait la réponse la dedans .
Pour le champ NomPays, en fait j'ai ajouté un champ à la table Voyage qui contient IDPays, et en l'ajoutant je l'ai défini en tant que référence vers une colonne d'une autre table. En gros j'ai ajouté NomPays à Voyage, alors que NomPays est normalement dans la table Pays (une sorte de jointure quoi).

J'ai donc fait clic droit sur la table Voyage > Editeur de Champs > Nouveau champ > J'ai coché "référence" et rempli le formulaire pour faire la jointure.

- MadMatt -

 www.choisir-une-entreprise.com

mardi 4 décembre 2007 à 00:06:34 | Re : [urgent] Locate ne marche pas sur un champ référence

tilab

Réponse acceptée !

la syntaxe devrait être:

DataModuleAgence.TableVoyage.Locate('NOMPAYS',EditNomPays.Text, ,[loPartialKey, loCaseInsensitive]

si tu mets [] la localisation se fait seulement en cas d'écriture complète et et avec les majuscules et minuscules justes!!

Alex

mardi 4 décembre 2007 à 00:08:54 | Re : [urgent] Locate ne marche pas sur un champ référence

MadM@tt

Membre Club
Oui effectivement mais j'ai déjà essayé, et j'ai trouvé confirmation sur un site, en fait on ne peut pas faire de Locate sur un "champ référence" (un champ qui fait jointure avec une autre table). C'est bien *** lol, alors je ne vois qu'une solution : passer par un filtre sur la table . Si tu as une autre idée je suis preneur, en tout cas merci de ton aide

- MadMatt -

 www.choisir-une-entreprise.com

mardi 4 décembre 2007 à 00:31:55 | Re : [urgent] Locate ne marche pas sur un champ référence

tilab

Moi je préfère les query:

Select * from TableVoyage where NomPays like :Critères  + '%'

Alex
mardi 4 décembre 2007 à 19:58:45 | Re : [urgent] Locate ne marche pas sur un champ référence

cantador

Membre Club
C'est bien confus tout çà et surtout bcp trop précipité pour aboutir à qlqchose de bon..
Je sais pas ce que vous avez tous en ce moment mais c'est toujours :
dépêchez-vous, j'ai perdu mon boulot, ma femme s'est barrée ou je passe mon exam demain matin !

Bon, faire un locate sur un lookup... quelle drole d'idée ?
ben si on peut qd même mais c'est la méthode qui ne va pas..

Dans la table où est crée le lookup NOMPAYS il y a nécessairement le CODEPAYS et si ce dernier est unique, c'est lui qu'il faut utiliser..
Comment ? 
en utilisant un DBLookupComboBox(A part) et sur le choix du PAYS en clair (bien sûr et non le code) et sur le ONCLOSEUP on renvoie le CODE DU PAYS dans le locate :
du coup les SearchOptions peuvent être siupprimées :
DataModuleAgence.TableVoyage.Locate('CodePays',EditNomPays.Value,[]);
ce qui a pour effet de déplacer le pointeur sur l'enregistrement choisi.
@+

cantador
mardi 4 décembre 2007 à 20:59:22 | Re : [urgent] Locate ne marche pas sur un champ référence

MadM@tt

Membre Club
Bonjour,

Depuis près de 4 ans sur les forums Codes Sources, je commence à connaitre les règles et c'est la première fois ou j'ai taggé mon titre d'urgent, je ne fait pas ça à tout va.
Bref petite parenthèse à part, j'ai réussi à faire une sélection avec le nom de pays mais au prix d'un bidouillage très moche, que j'ai un peu fait à regret, mais qui est passé inaperçu pour les profs c'est déjà ça .

Sinon c'est pas pour autant qu'une solution correcte m'interesse pas, seulement j'ai du mal à saisir ce que tu m'expliques. Tu parle de faire entrer le nom du pays à part (dans une autre fenetre par exemple), d'en récupérer le numéro du pays et ensuite de faire un locate avec l'ID ?
Seulement comment tu "transforme" le nom du pays en ID du pays ? Le DBLookupComboBox pour moi ça modifie le nom du pays actuellement sélectionné dans la table non ?

(ce que j'ai fait dans mon devoir c'est une sélection par filtre dans la table Pays, j'en tire le numéro du Pays du premier enregistrement qui vient et je fais un locate avec ça sur le NomPays dans les voyages).

Merci

- MadMatt -

 www.choisir-une-entreprise.com


1 2

Cette discussion est classée dans : urgent, référence, champ, delphi, locate


Répondre à ce message

Sujets en rapport avec ce message

PB DELPHI+SQL SERVEUR URGENT [ par killianst ] Voila j ai un probleme entre SQl serveur et delphi, dans ma table sql server mes champ sont de type nvarchar or l'or de l'affectation dans un outil de Filter une table sous delphi 5 [ par bfouad ] Bonjour,Je n'arrive pas à filter une table en utilisant une variable comme critère de filter.Ex. (Nomtable.filter:='Champ = i';)ou 'Champ', c'est le n Fichier d'aide sur delphi c urgent svp [ par Programmeur1987 ] Salut A Vous j'aimerais savoir comment faire un fichier d'aide sur delphi pour acompagner mon programmealors svp Merci a l'avance Delphi 6... (Urgent) [ par TTMan ] Hello, j'ai vu que on pouvait avoir Delphi 6 gratuit sur le site de borland, le seul problème, c'est mon modem (56k) donc si quelqu'un à une astuce po test de champ edit [ par jimmy69 ] Bonjour a tous,Quel temps de merde j'en profite donc pour venir parfaire mes connaissances en delphi :-)!Bref, j'ai un p'tit stress je suis en train d Utilisation de TimeStamp [ par guilhemrostain ] Bonjour,j'ai un champ de ma base de donnée nommé Timestamp qui est de type Entier long sur 10 chiffres (ex : 1052990591).J'ai besoin d'extraire ce cha XML, SVG et DELPHI(urgent pour stage...) [ par atupac1 ] Je dispose d'un fichier XML (qui intégre un fragment SVG ) dont le but est de générer une image simple(non animée).Je veux que lorsque je clique sur u URGENT SVP - delphi pette les plombs... [ par mathieu57100 ] bonjour tlm,j'ai un gros prob avec delphi:sur ma nouvelle appli, je mets un, deux, trois... composants, je tape un quelques procédure, je compile pour champ paradox avec 1 tiret [ par zerkowski ] Bonjour,Je suis avec un version de delphi 2. Je veux compter des enregistrement avec un tquery sur une table paradox en faisant :select count(*) as re interbase'URGENT' [ par burnouze ] bonjourj ai developpé un ptit repertoire telephonique qui va chercher avec un ibdatabase 192.30.12.101:c:\Program Files\Borland\InterBase\data\REP_TEL


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales