Comment "rejoindre" deux formulaire avec une fonction

crazyvbCAN Messages postés 5 Date d'inscription vendredi 22 décembre 2006 Statut Membre Dernière intervention 31 janvier 2007 - 31 janv. 2007 à 04:38
Piloutech Messages postés 16 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 6 avril 2010 - 1 févr. 2007 à 02:08
Bonjour,

   J'essai de faire un programme dans lequel j'ai plusieurs formulaires. Mon formulaire d'ouverture (le principal), contient plusieurs boutons dont un qui ouvre un autre formulaire. Dans ce formulaire, j'entre un String. Un dossier portant le nom de ce string est créé. Ensuite, une base de données est copiée dans ce dossier. Jusque là, ça va. Le problème est que lorsque que je clic sur "Ok" de ce deuxième formulaire, je le ferme et je reviens sur le formulaire principal, mais dans une FONCTION du formulaire principal.Dans cette fonction, j'ai une connexion sur une BD. Je dois compter le nombre d'enregistrements qu'il y a dans cette BD et afficher ce nombre dans un textBox du formulaire principal. Mais ça ne fonctionne pas! Il ne veut pas afficher le nombre dans le textbox. Pourtant, il connait la valeur de la variable contenant ce nombre (je l'ai testé). J'ai essayé plusieurs choses avec me.owner ou .parent ou .child......... rien ne foctionne....

Quelqu'un peut m'aider?
Merci !!!

4 réponses

cs_bouf Messages postés 114 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 20 mars 2008
31 janv. 2007 à 10:37
Salut,
Tu bosses sur quoi : VBA,VB6, Access ?
Essai de mettre tes variables en global dans une procédure afin de pouvoir les utiliser de partout. Ensuite pour bosser sur une BD et récupérer des infos, je trouve que c'est mieux et plus rapide de travailler avec des Recordsets.

Cliff le bouffeur[:p]
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
31 janv. 2007 à 12:05
Sans ton code, ça va etre dur de t'aider.

C'est quoi le problème ??? la connection avec la base ? et le rapport avec cette variable string, quel est-il?

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
crazyvbCAN Messages postés 5 Date d'inscription vendredi 22 décembre 2006 Statut Membre Dernière intervention 31 janvier 2007
31 janv. 2007 à 14:55
Je travaille avec Visual Basic 2005.
Ma BD est Access.

La variable String est globale et sert à définir ma connection string.

Voici du code sur le bouton Ok du deuxième formulaire:

Dim StrNouveauFeuillet
As
String = ComboBox1.SelectedItem.ToStringFile.Copy(

"chemin ou je prend ma BD pour en faire une copie\Le nom de ma BD.mdb",
"chemin ou je copie cette BD" & StrNouv &
"" & StrNouveauFeuillet &
".mdb")
Str_Saisie =

"chemin" & StrNouv &
"" & StrNouveauFeuillet &
".mdb" 'le Str_Saisie est global...c'est mon connction string

Dim f
As
New Form_Saisief.Ouvrir() 'ouvrir est le nom de ma fonction sur le formulaire principal

TextBox1.Clear()

ComboBox1.SelectedItem =

Nothing

Me.Close()

Voici ma FONCTION sur le formulaire principal:

OleDbCon_Saisie.ConnectionString = Str_Connection & Str_Saisie Le Str_Saisie est global et a été défini précédemment

OleDbCon_Saisie.Open()

Dim Int_Enregistrement = 0

Dim OleDbCom_Select
As
New OleDbCommandOleDbCom_Select.Connection = OleDbCon_Saisie

OleDbCom_Select.CommandText =

"SELECT MAX (PEUP) FROM saisie"

Try

Dim f
As
New Form_SaisieInt_Enregistrement = OleDbCom_Select.ExecuteScalar()

Catch ex
As Exception

End
Try

Try

Dim f2
As
New Form_NouvProjetTextBox1.Clear()

TextBox1.Update()

TextBox1.Update()

Catch ex
As ExceptionInt_Enregistrement = 0

FinallyTextBox1.Text = Int_Enregistrement + 1 'Il ne veut pas l'afficher dans le textbox, mais il connait la valeur de Int_Enregistrement. Par contre, si j'entre un autre enregistrement dans la bd (via l'application, là il fonctionne. Mais pourquoi il ne fonctionne pas la première fois?)

End
TryOleDbCon_Saisie.Close()
0
Piloutech Messages postés 16 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 6 avril 2010
1 févr. 2007 à 02:08
Salut,

Moi je voulait juste te dire que Clear et Update n'était pas selon moi utile, j'en ai jamais utilisé pour refresh des textbox en tout cas. Et aussi, pour ta requete, mefie toi du Max, préfere le COUNT car si les ID de la DB ne se suivent pas (access en autoincrement par exemple) ton max va te retourner un nombre qui peut etre tres eloigné de la realité...

Ceci est une observation et non une reponse au probleme...Mais ca peut aider
(Vu l'heure tardive, j'espere ne pas avoir été trop a coté du sujet )

Bonne journée...

Piloutech
0
Rejoignez-nous