Comment "rejoindre" deux formulaire avec une fonction
crazyvbCAN
Messages postés5Date d'inscriptionvendredi 22 décembre 2006StatutMembreDernière intervention31 janvier 2007
-
31 janv. 2007 à 04:38
Piloutech
Messages postés16Date d'inscriptionmercredi 17 janvier 2007StatutMembreDerniè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 !!!
A voir également:
Comment "rejoindre" deux formulaire avec une fonction
cs_bouf
Messages postés114Date d'inscriptionlundi 6 septembre 2004StatutMembreDernière intervention20 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.
crazyvbCAN
Messages postés5Date d'inscriptionvendredi 22 décembre 2006StatutMembreDernière intervention31 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 =
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?)
Piloutech
Messages postés16Date d'inscriptionmercredi 17 janvier 2007StatutMembreDerniè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 )