Plusieurs Questions pour mon Application [Résolu]

cs_niblon 64 Messages postés mardi 8 août 2006Date d'inscription 20 septembre 2011 Dernière intervention - 25 juin 2010 à 00:44 - Dernière réponse : cs_niblon 64 Messages postés mardi 8 août 2006Date d'inscription 20 septembre 2011 Dernière intervention
- 19 juil. 2010 à 12:44
Bonsoir a tous,

Voila j'envisage de me lancer dans un petit programme de suivi pour mes cactus,mais avant de commencer j'aurais plusieurs questions a vous poser avant de me lancer.

1/ Je voudrais savoir si d'apres vous je devrais utiliser une ou plusieurs tables (ex: une pour les serres , une autres pour la Variete de cactus et la derniere pour les evenements journaliere)

2/ en suivant ce tuto ici l'application fonctionne , mais je voudrais a la place d'un "Navigator" placer un "Menustrip" est ce compliquer de coder les boutons ?

3/ En gros j'ai une form avec 1 combox et un bouton dans un groupbox et un DataGridView en bas de page.
Je voudrais quand je selectionne le nom de la serre dans le combox puis je clique sur le bouton et la cela me l'affiche en bas dans le DGV .Est ce possible ?

4/ Peut t'on Avoir ou ce servir d'une table pour deux Form ?

5/ Suis_je obliger de mettre un compteur (comme dans un DGV)

6/ Toujours avec ce tuto ici l'application fonctionne mais tourne avec une seul table .Est ce compliquer de faire tourner une application avec plusieurs table en ce basant sur ce super tuto ?

Merci d'avance.
Niblon
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Mayzz 2859 Messages postés mardi 15 avril 2003Date d'inscription 26 novembre 2013 Dernière intervention - 6 juil. 2010 à 12:32
3
Merci
1/ J'ai creer les trois tables comme tu les decris plus haut mais au moment de creer un TableAdapter je dois faire un pour chaque table ou grouper les trois table dans un TableAdapter ?


En SQL une requête SELECT peut viser plusieurs tables à condition que celle-ci soit jointe, il existe pour cela les jointures SQL (Voir sur Google). Un TableAdapter est basé sur une requête SELECT, tu peux donc créer autant de TableAdapter que tu le souhaite.

2/ dans ma table Action j'ai placer un ID_FK_Cactus mais lors de la modif des commandes del,insert et update que marquer ? car je pense que pour la commande de DEL il ne faut pas quelle supprime sur ID_FK_Plante non ou c'est moi qui est a moitier


Si tu as suivi mon tuto alors tu as du choisir le 'uniqueidentifier' pour ta clé primaire ? Si tu suis mon tuto tu verras que pour la requête INSERT, préciser l'ID n'est pas obligatoire si tu as bien rempli le champ 'valeur par défaut' de ta table avec 'newid ()'. Pour les autres requêtes c'est simple tu précise l'id de ta ligne, celle que tu récupère grâce à ta requête SELECT. Chaque ligne de tes tables devront ont un ID, c'est par cet ID que tu précise à la base de données quelle ligne tu souhaite modifier ou supprimer.

3/ dans une application j'ai deux table j'ai une erreur quand je clique sur "Enregistrer" ou sur "Supprimer"


A mon avis ton erreur vient du fait que tu utilises des SelectedItem partout, il faut savoir que si tu saisis manuellement du texte dans tes combos, la propriété SelectedItem ne te retournera pas ce texte mais la valeur nulle (Nothing). Utilise SelectedText.

4/ Comment remplacer le nom de la form principal (en haut a gauche de la fenetre :) )par le nom du cactus en cours ?


Me.Text = txt_NomduCactus.Text

5/ peut t'on grouper 2 enregistrements en même temps. je m'explique sur le bouton "enregistrer" il devras enregistrer sur deux table différent ?


Biensur, il suffit de mettre le code nécessaire dans la procédure click du bouton :

MonTableAdapter1.Insert(MonTextBox1.Text, ...
MonTableAdapter2.Insert(MonTextBox2.Text, ...

6/ Comment gerer les date au plus simple ,car certain ce servent de MasquedTextBox et d'aures avec DateTimePicker et d'autres encore ...
je n'arrive deja pas a insere l'heure actuel dans le statusbar


Pour moi c'est DateTimePicker + format DateTime dans la DB. Pour l'heure actuelle en .Net c'est 'Now'

MonStatusBarLabel.Text = Now.ToString


@+ Mayzz.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.

Merci Mayzz 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de Mayzz
Meilleure réponse
Mayzz 2859 Messages postés mardi 15 avril 2003Date d'inscription 26 novembre 2013 Dernière intervention - 15 juil. 2010 à 15:41
3
Merci
Si dans ma table CactusTableAdapter j'ai une colonne XY et que dans la ligne de code (ci dessus)je ne la referencie pas VB me renvoie une erreur (la resolution de surcharge a echoue, car aucun 'update' accessible n'acceptera ce nombre d'arguments.Je suis obliger de mettre tout ce qui ce trouve dans la table Cactus pour ne pas avoir d'erreur .


C'est tou à fait logique. Lors ce que tu insères un champ, tu dois préciser toutes ses valeurs. Les procédures sont tirées des requêtes UPDATE, donc les paramètres sont obligaatoires c'est logique !

Si tu souhaite avoir une procédure ou tu ne saisi que le champ XY, dans ce cas crée une nouvelle requête INSERT dans ton TableAdapter en ne précisant que ce champ :

INSERT INTO MaTable XY VALUES (@XY)

Nomme ta procédure InsertXY et sous vb tu pourras voir la procédure :

MonTableAdapter.InsertXY(valeur)

Attention, si certains champs dans ta table n'autorisent pas les valeurs nulles et n'ont pas de valeurs par défaut cela provoquera une erreur au niveau du SQL. Il en va de même pour la clé primaire, s'il s'agit d'un GUID dont la valeur par défaut n'est pas newid() ou bien si il s'agit d'une valeur numérique qui n'est pas auto incrémenté.


Pour le reste :

1/ Une fenetre Login ce place avant ou apres un splashscreen ? juste pour info.

Toujours après !

2/ Peut ton placer a droite complet un Labelstatus car je n'y arrive pas (provisoirement j'ai placer un textbox , pour depanner) je regarder dans la propriete du label mais j'ai rien vu ou je suis creve

Je ne vois pas de quoi tu parles, qu'est ce qu'un 'Labelstatus' et ou veux tu le placer ? A droite de quoi ? La feuille ? Une toolStrip ? Un statusStrip ?

3/ vaut mieux faire des jointures ou plusieurs tableadapter .

Les deux, des jointures se font au niveau des requêtes (SELECT) SQL, qui dit requête SELECT dit forcément nouveau TableAdapter dans le DataSet. Un TableAdapter ne peut contenir deux requêtes SELECT dont le schéma est différent, exemple :

SELECT FROM MaTable (Nom, Prenom, Adresse)

et

SELECT FROM MaTable (Nom, Prenom, Age)

Ne peuvent pas êtes placés dans le même TableAdapter car elles retournent des DataTable différentes. Mais :

SELECT FROM MaTable (Nom, Prenom, Adresse)

et

SELECT FROM MaTable (Nom, Prenom, Adresse) WHERE ID=@ID

Peuvent être placés dans le même TableAdapter, l'une sera nommé par exemple, SelectAllItems et l'autre SelectByID.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.

Merci Mayzz 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de Mayzz
Mayzz 2859 Messages postés mardi 15 avril 2003Date d'inscription 26 novembre 2013 Dernière intervention - 28 juin 2010 à 22:42
0
Merci
Salut,

1/ Je voudrais savoir si d'apres vous je devrais utiliser une ou plusieurs tables (ex: une pour les serres , une autres pour la Variete de cactus et la derniere pour les evenements journaliere)

La réponse est probablement oui, si un cactus peu avoir une serre différente d'une autre et si tes serres comportes plusieurs spécifications donc tu aurais mettons le schéma de table suivant :

Table Cactus :               Table Variete              Table Serre
ID_Cactus                    ID_Variete                 ID_Serre
Nom_Cactus                   Nom_Variete                Nom_Serre 
Variete_Cactus               Desc_Variete               Taille_Serre 
Serre_Cactus


Le champ variete_cactus correspondrait à l'ID_Serre d'une ligne de la table serre, les champs Variete_Cactus à celui d'une ligne de la table Variete.

Il existe plusieurs type de relations "1 à 1", "1 à n" et "n à n".

2/ en suivant ce tuto ici l'application fonctionne, mais je voudrais a la place d'un "Navigator" placer un "Menustrip" est ce compliquer de coder les boutons ?

Tu peux, tout dépend de ce que tu compte mettre dans le Toolstrip, tu devras coder les fonctionnalités pour chaque boutons ajoutés comme je l'ai fait pour ajouter les boutons perso dans le navigator.

3/ En gros j'ai une form avec 1 combox et un bouton dans un groupbox et un DataGridView en bas de page.
Je voudrais quand je selectionne le nom de la serre dans le combox puis je clique sur le bouton et la cela me l'affiche en bas dans le DGV .Est ce possible ?

Tout dépend, c'est différent, un ComboBox est une liste d'éléments, un datagrid est une liste d'éléments avec des colonnes faites pour afficher des tables entière, or la sélection de ton combo ne désigne pas une table, mais une ligne de table, ce qui s'afficherais donc dans ton datagrid serai une ligne de ta table serres.

4/ Peut t'on Avoir ou ce servir d'une table pour deux Form ?

Bien entendu, pour deux form, et même pour deux applications (non conseillés via SQL CE).

5/ Suis_je obliger de mettre un compteur (comme dans un DGV)

Un compteur pour un datagrid ? Pourquoi faire ?

6/ Toujours avec ce tuto ici l'application fonctionne mais tourne avec une seul table .Est ce compliquer de faire tourner une application avec plusieurs table en ce basant sur ce super tuto ?

Non bien sûr, il suffit de reprendre la méthode d'ajout de table. Ainsi tu n'auras pas une mais plusieurs sources de données dans ton projet (CactusTableAdaper, VarieteTableAdapter, SerreTableAdapter)

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz
cs_niblon 64 Messages postés mardi 8 août 2006Date d'inscription 20 septembre 2011 Dernière intervention - 6 juil. 2010 à 00:17
0
Merci
Bonsoir et Merci Mayzz

j'ai etudier different cas sur plusieurs applications de test et je bloque sur quelque truc .

1/ J'ai creer les trois tables comme tu les decris plus haut mais au moment de creer un TableAdapter je dois faire un pour chaque table ou grouper les trois table dans un TableAdapter ?

2/ dans ma table Action j'ai placer un ID_FK_Cactus mais lors de la modif des commandes del,insert et update que marquer ? car je pense que pour la commande de DEL il ne faut pas quelle supprime sur ID_FK_Plante non ou c'est moi qui est a moitier

3/ dans une application j'ai deux table j'ai une erreur quand je clique sur "Enregistrer" ou sur "Supprimer"
 Dim ID_Cactus As Guid = CType(DGV.SelectedRows(0).Cells(0).Value, Guid)
        '
        Try
            '
            'Appel de la procédure Update de notre TableAdapter qui tranmettra
            'la requête SQL UPDATE.
            Dim NbLine As Integer = CactusTableAdapter.Update(txt_NomduCactus.Text, Cbo_Variete.SelectedItem, Cbo_Depart.SelectedItem, Cbo_Substrat.SelectedItem, Cbo_Technique.SelectedItem, mtb_Dmep.Text, txt_Hateur.Text, txt_Info.Text, ID_Plante)
            REM: Cette procédure retourne un entier indiquant le nombre de lignes modifiés.
            '
            If NbLine > 0 Then


le mtb_dmep c'est un MaskedTextBox pour recupere la date de mise en pot.
Le message d'erreur m'indique la ligne: Dim ID_Cactus ...... le message
Exception ArgumentOutOfRangeException n'as pas ete gere.L'index hors limite.il ne doit pas etre negatif et doit etre inferieur a la collection.nom du parametre : index


4/ Comment remplacer le nom de la form principal (en haut a gauche de la fenetre :) )par le nom du cactus en cours ?

5/ peut t'on grouper 2 enregistrements en meme temps. je m'explique sur le bouton "enregistrer" il devras enregistrer sur deux table different ?

6/ Comment gerer les date au plus simple ,car certain ce servent de MasquedTextBox et d'aures avec DateTimePicker et d'autres encore ...
je n'arrive deja pas a insere l'heure actuel dans le statusbar


Ps: je tourne avec deux appli de test et une appli qui sera le definitive.Le tout grace a t'on tuto
Merci d'avance.
Niblon
Commenter la réponse de cs_niblon
cs_niblon 64 Messages postés mardi 8 août 2006Date d'inscription 20 septembre 2011 Dernière intervention - 6 juil. 2010 à 12:35
0
Merci
Merci
bonne journée
Commenter la réponse de cs_niblon
cs_niblon 64 Messages postés mardi 8 août 2006Date d'inscription 20 septembre 2011 Dernière intervention - 15 juil. 2010 à 13:05
0
Merci
Bonjour a tous

Voila j'ai avancer dans mon application , operation de calcul ,heure et date oki, arrangement des forms etc .. mais le gros souci c'est que je n'y arrive vraiment pas la base de donnee et plusieurs tables.

J'ai passer mon week end en bourrage de crane avec les tutos videos youtu... et autres pour comprendre bien la creation , les relations et les codes ,mais bon chacun fais a sa maniere, j'ai meme chercher des appli Medecin ou autres pour etudier le code mais le 3/4 code sous vb6.

je ne comprend pas dans le code suivant [code=vb]CactusTableAdapter.Insert(txt_NomCactus.Text , txt_Variete.Text ...
[code=vb]
Si dans ma table CactusTableAdapter j'ai une colonne XY et que dans la ligne de code (ci dessus)je ne la referencie pas VB me renvoie une erreur (la resolution de surcharge a echoue, car aucun 'update' accessible n'acceptera ce nombre d'arguments.Je suis obliger de mettre tout ce qui ce trouve dans la table Cactus pour ne pas avoir d'erreur .


Encore avec mes question

1/ Une fenetre Login ce place avant ou apres un splashscreen ? juste pour info.

2/ Peut ton placer a droite complet un Labelstatus car je n'y arrive pas (provisoirement j'ai placer un textbox , pour depanner) je regarder dans la propriete du label mais j'ai rien vu ou je suis creve

3/ vaut mieux faire des jointures ou plusieurs tableadapter .

Un grand merci d'avance.
Niblon
Commenter la réponse de cs_niblon
cs_niblon 64 Messages postés mardi 8 août 2006Date d'inscription 20 septembre 2011 Dernière intervention - 19 juil. 2010 à 12:44
0
Merci
Bonjour

Et oui encore moi

j'ai encore une question .Comment peut t'on a partir d'un resultat nombre de pot en resortir des numeros de pot.J'explique :
dans la table Serre j'ai une colonne "Nombre de pot" et dans la table "Evenement" j'ai une colonne "Numero du pot".Et j'aurais voulu que si par exemple mon "Nombre de pot est de 2" dans mon combo "Numero du pot" je peut selectionne 1 ou 2.

Alors que la je n'arrive que a recuperer la valeur final dans mon combo
ex: si 3 pot ,dans mon combo je n'ai que la valeur 3.


Merci d'avance
Niblon
Commenter la réponse de cs_niblon

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.