Bonsoir
J'ai un problème concernant la connexion entre deux form ou Je sais pas quoi
mon programme ne veut marche pas
Bonsoir
J'ai un problème concernant la connexion entre deux form ou Je sais pas quoi
mon programme ne veut marche pas
Bonjour,
Vous n'avez pas plus vague comme description ?
Ce n'est pas étonnant, votre code est une horreur...
Le nommage des objets est inexistant : comment voulez vous vous y retrouver avec des noms comme Form1, ..., Form5, btn1, btn2, etc, etc ?
L'unité unit4 qui contient la classe TDatamodule4, n'est pas référencée dans le projet alors qu'elle utilisée (ce qui génèrera une violation d'accès lors de son appel).
L'unité unit2 qui contient la classe TForm2 est fournie mais inutilisée (et non référencée dans le projet).
Vous utilisez dans des méthodes de classe des instances de cette même classe : cf. ci-après pour plus de détails http://www.developpez.net/forums/d15...s/#post8208688--
Bref, vous avez avant tout à entreprendre un sérieux travail de restructuration de votre code...
merci Ph. B. de votre réponse
j'ai supprimé le module par ce que le programme ne ne veut marche pas
je mets les components(adoconnection, les deux adotable) direct dans la form et comme meme le problème reste
est ce qu'il y a une solution ?
Bonjour,
Franchement je ne suis pas un fan de lecture des rar et encore moins adepte de les décompresser sur mon disque pour étudier le "problème", mal expliqué au demeurant ! Comme Ph.B. je trouve votre code plus que limite !
reprenons vous voulez accéder à une base MS Acces à ce qu'il semble pour y interroger , dans le dernier enregistrement d'une table un champ (booléen?) et pour cela vous passez par une autre fiche que la fiche principale ? que de complications !!!
reprenons la base . vous avez besoin tout d'abord d'un datamodule (oui je sais cela ne fonctionnait pas mais il y a un pourquoi avant tout) puis d'une fiche (forme). Notez bien le puis , qui veut dire que le datamodule doit être créer (au moins dans les options du projet) avant la forme
Dans le Datamodule vous y mettrez la connexion et la table (ou mieux encore une Query) cette connexion puis sa table seront activé lors de l'évènement OnCreate du DataModule (ou plus tard lors d'une action sur un bouton par exemple).
Dés lors la première forme suffit pour faire votre test !
si je reprend votre code
la seule chose qui va changer est l'utilisation du datamodule en lieu et place de Form2, cependant faire ce showmessage (je présume pour test) dans l'évènement onCreate de la forme est loin d'être une bonne idée . Je propose plutôt par exemple de mettre un label sur cette forme ce qui nous donne ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // Questions à quoi correspondent ADOTable1, ADOTable2 ? // à comment est positionné ADOTable2 , ? un seul enregistrement ? // comment sont ouvertes les Tables ? // à quoi sert le Last de ADOTable1 dans le contexte du test ? // remarque des tables ouvertes quand et jamais fermés, c'est JAMAIS une bonne idée procedure TForm1.FormCreate(Sender: TObject); begin Form2.ADOTable1.Last; if Form2.ADOTable2.FieldByName('ok').Value = True then ShowMessage('hi') else ShowMessage('no'); end;
merci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 // Postulats // 1 MesDatas est le Datamodule donc inclus dans la clause uses se trouve le nom du fichier contenant le DataModule // 2 La connexion et la table sont "ouvertes" à la création du DataModule procedure TMainForm.FormCreate(Sender: TObject); begin //MesDatas.TableTest.Open; MesDatas.TableTest.Last; // en supposant qu'il y ait un index primaire défini ! if MesDatas.TableTest.FieldByName('ok').Value = True then then LabelTest.Caption:='hi' else LabelTest.Caption:='no'; end; //MesDatas.TableTest.Close;
1 - de ne pas relancer, cela ne se fait pas (il y a même une régle de forum en ce sens)Envoyé par S.H
2- de ne pas mettre de fichier rar ,sauf cas particulier cela est loin d'être nécessaire et c'est une horreur à éplucher sans charger + ouvrir le code et ce avec la bonne version de Delphi . Or ,en parlant de version de Delphi, si vous ne l'indiquez pas comment voulez-vous que les lecteurs prennent en compte vos sources ?
par exemple sur le poste que j'utilise pour écrire je n'ai que les versions XE8 DX10 (et peut être quelques autres versions que j'ai mal nettoyé) s'il faut en plus que je me casse la tête à aller chercher la version , ce n'est plus de l'entraide mais carrément de l'assistance (sous entendu monnayable) que vous demandez !
3- d'expliquer clairement votre problème un :
n'est guère attrayant et le titre "probleme connexion entre fiches" n'est guère plus attirant !J'ai un problème concernant la connexion entre deux form ou Je sais pas quoi
mon programme ne veut marche pas
vous remarquerez que si une centaine de personnes ont lu votre post, une dizaine de fois seulement votre rar a été ouvert (et encore 3 à 4 fois par moi fichiers temporaires obligent)
Partager