[VB] aider moi a enregistrer mes donnes ??

Fermé
khouloud - 20 avril 2005 à 16:41
 Panoramix - 10 nov. 2007 à 14:55
bonjour, je suis une debutante en vb.

j'ai creer une petite application en vb,qui consiste à entrer des indicaterus et des mesures.

Mon probleme c que une fois je quitte l'application rien n'est enregistrer.

je veux savoir comment les enregistrer????

merci.
A voir également:

17 réponses

Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 110
20 avril 2005 à 16:58
Salut =)

Pour stocker des données, tu as le choix entre :
-> un fichier
->une base de données

Evidemment, si dans ton appli tu mets ça dans une liste et que quitte l'appli, les données ne sont stockées nulle part. Il faut donc les écrire dans un fichier (plus simple, mais s'il y a bcp de données vite chiant) ou dans une base de données (+ dur, mais + sûr, + structuré, + tout quoi !)

voili voilou
1
bonjour,
est ce que tu peux me dire comment je peux effectuer cette commande d'enregistrement sur une base.

MOi,mon programme demande à l'utilisateur d'entrer des donnés sous forme de valeur ,ces donnees je veux les enregistrer, pour qu'il puisse les ouvrir aprés.
0
Bonjour,

Pour enregistrer sur un fichier dans votre cas, c est plus facile les fichier a accès séquentiel, il faut juste respecter l'ordre de saisie des données qui doit être le même que celui de les charger exemple

strFile = "C:\" & strFile & ".dat"

Open strFile For Random As #1

Put #1, 1, P0
Put #1, 2, BAT10
Put #1, 3, TVA0
Put #1, 4, BAT1
Put #1, 5, TVA
Close #1

le nom du fichier où sauvegarder strFile doit être évidement déclaré comme string


pour recharger les données
Open strFile For Random As #1


Get #1, 1, P0
Get #1, 2, BAT10
Get #1, 3, TVA0
Get #1, 4, BAT1
Get #1, 5, TVA

txtP0.Value = P0
txtBAT10.Value = BAT10
txtTVA0.Value = TVA0
txtBAT1.Value = BAT1
txtTVA.Value = TVA
Close #1

Voila facile et efficace
1
help, please
0
btissam2 Messages postés 22 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 1 novembre 2005 4
26 avril 2005 à 20:58
salut
aprés avoir établie la connection entre ton prog et ta base de donnée (je te conseil d'utiliser la technologie ADO)
prosédes comme suit
rs.addnew
ecrire
rs.update

rs c'est les enregistrements et ecrire c'est une procédure pour remplir ta base de donnée par exemple tu peut la définir (je ne connait pas tes donnée )comme suit:
sub ecrire()
rs!poids =text1.text
rs!age=text2.text
end sub
et pour les afficher tu crée une procedure pour l'affichage
par expl
sub afficher ()
text1.text=rs!poids
text2.text=rs!age
end sub
j'éspére que ça va marcher
a+
0
bonjour,
mes donnees se sont des single(taux de marge,taux de benefice....).
donc si j'ai bien compris il faut que je fait connection avec une base vide je réalise les:

rs.addnew
ecrire
rs.update

j'ai pas compris le fonctionnenment de " rs".elle est déclaré par défaut?

sub ecrire()
rs!taux de bénéfice =text1.text
rs!estimation=text2.text
end sub

c'est correcte comme ca?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j'ai oublié de te dire que j'ai trouve une demi solution sans base c'est dans la commande enregistrer sous j'écrit:

Open ("C:\form.frm") For Output As #1
Close #1

Mais l'erreur est: "l'entréé dépasse la fin de fichier" c:\form.frm".
0
Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 110
27 avril 2005 à 10:00
Salut =)

en fait rs = Enregistrement. je ne connais pas sépcialement le VB, mais je ne pense pas que ce soit déclaré sans rien faire. Dans une base de données, quand tu ajoutes une ligne de données, on appelle ça un enregistrement.

Sinon, tu as bcp de données à stocker ? si tu n'en as pas bcp, tu px en effet stocker dans un fichier ce sera bcp plus simple.
Et de même, je ne sais pas comment on fait pour lire et écrire dans un fichier en VB.
0
merci beaucoup,
je vais essayer de creer une base.
encore merci
0
btissam2 Messages postés 22 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 1 novembre 2005 4
28 avril 2005 à 21:59
salut khouloude

je te donne un petit exemple j’éspére que ca va être utile pour toi
tu va dans projet de la barre d’outil tu click sur références et tu coche la case (microsoft Active X Data Objects 2.0 library ) c la référence qui va te pérmettre de réaliser la connection avec ta base aprés, tu ajoute un module + ta forme éxistante

dans ta partie de module

Global db As ADODB.Connection
Global rs As ADODB.Recordset
Sub connexion() 'procedure qu'on va utiliser dans la form pour etablir la cnnection
entre la base et le prog
Set db = New ADODB.Connection
With db
.Provider = "microsoft.jet.oledb.4.0"
.ConnectionString = "c:\btissam.mdb" 'btissam c le nom de la base de données
.CursorLocation = adUseClient
.Open
End With
End Sub
Sub deconnexion() 'procedure pour la déconnection qu'on va utiliser dans la form
db.Close
Set db = Nothing
End Sub

dans ta partie form

Private Sub ecrire() 'procédure pour le remplissage de la base
rs!nom = nom.Text
rs!prenom = prenom.Text
rs!tel = tel.Text
End Sub
Private Sub afficher() 'procédure pour l'affichage
nom.Text = rs!nom
prenom.Text = rs!prenom
tel.Text = rs!tel
End Sub

Private Sub ajouter_Click()
rs.AddNew
ecrire
rs.Update
End Sub


Private Sub dernier_Click()
rs.MoveLast
afficher
End Sub
Private Sub clean()
nom = ""
prenom = ""
tel = ""
nom.SetFocus
End Sub

Private Sub effacer_Click()
clean
End Sub

Private Sub Form_Load()
connexion
Set rs = New ADODB.Recordset
rs.Open "select * from betty", db, adOpenDynamic, adLockOptimistic ‘betty c le nom de la table utilisée

afficher
End Sub

Private Sub modifier_Click()
ecrire
rs.Update
End Sub

Private Sub precedent_Click()
rs.MovePrevious
If rs.BOF Then
rs.MoveFirst
End If
afficher
End Sub

Private Sub premier_Click()
rs.MoveFirst
afficher
End Sub

Private Sub quitter_Click()
Dim rep As String * 20
rep = MsgBox("êtes vous sûre de vouloir quitter?", vbQuestion + vbOKCancel)
If rep = vbOK Then

Unload Me
deconnexion
End If
End Sub

Private Sub suivant_Click()
rs.MoveNext
If rs.EOF Then
rs.MoveLast
End If
afficher
End Sub

Private Sub supprimer_Click()
rs.Delete
rs.MoveNext
If rs.EOF Then
rs.MoveFirst
End If
End Sub

une chose pour le remplissage ou l’affichage on utilise par exemple (rs!tel) . ce qui est écrit aprés le rs doit correspendre au champs de ta base (même écriture) par exemple (tel) c un champ dans ma table betty de la base btissam j'éspére que ça va marcher cette fois a+
0
salut btissam,merciiiiii beaucoup pour ton aide.
juste une question la procedure ajouter, c pour ajouter un enregistrement dans la base ?
si oui elle ne marcher pas.j'ajoute dans les textebox mais dans la base ya rien.
encore merciiiiii
0
salut btissam,merciiiiii beaucoup pour ton aide.
juste une question la procedure ajouter, c pour ajouter un enregistrement dans la base ?
si oui elle ne marcher pas.j'ajoute dans les textebox mais dans la base ya rien.
encore merciiiiii
0
blurk Messages postés 486 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 15 mars 2009 160
29 avril 2005 à 18:18
salut
juste une petite astuce grammaticale:
pour savoir si un verbe se conjugue à l'infinitif,
(aider moi , rien n'est enregister)
ou au participe passé, voire à l'impératif
(aidez moi, rien n'est enregistré)
une astuce:
utiliser un verbe du 2e/3e groupe comme vendre, servir
exemple :
(servez moi, rien n'est vendu)
est bien plus correct à l'oreille que
(servir moi, rien n'est vendre)
étonnant non ?

sinon, pour les fichier, dans l'aide de VB
voir open, read, write, close
une base de donnée ? est-ce bien nécessaire ?

cordialement, et désolé pour la disgression
0
pour la base oui il le faut.
pour les fichier c pas ma question comment l'ouvrir mais de copier des donnes et des enregistrement.
ps
c un frum de programmation non????
0
Luffy =) Messages postés 365 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 19 mai 2006 110
29 avril 2005 à 20:05
c un frum de programmation non????

en effet. mais si tu dis ça par rapport à la remarque de blurk concernant la syntaxe de tes messages, il a tout à fait raison. Malgré que ce soit un forum de programmation, il est toujours plus facile et plus agréable d'aider une personne qui s'exprime correctement.

En fait, j'appelerais ça tout simplement du respect.
0
salut khouloud
pour la pocédure ajouter permet d'ajouter les données dans ta base de donnée. Mais je ne sais pas ou est le prob car avec ce code ca marche chez moi
peut être que dans la procédure écriture et affichage t'a eu des contrainte par exemple dans la procédure écriture ta une ligne comme suit
rs!nom = nom.Text
le 2éme "nom" prés de text c le nom de la zone text tu peux la changer par text1 ou selon le nom de ta zone text. c le même truc dans ta procédure afficher
a+
0
salut btissam2,

juste une question au niveau de la form je veux ouvrir deux table,est ce que j'écris:
Private Sub Form_Load()
connexion
Set rs = New ADODB.Recordset
rs.Open "select * from bd1", db, adOpenDynamic,adLockOptimistic

rs.Open "select * from bd2", db, adOpenDynamic,adLockOptimistic

afficher
End Sub
0
salut btissam2,tu es encore la?
0
btissam2 Messages postés 22 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 1 novembre 2005 4
3 mai 2005 à 22:50
salut khouloud
en réalité j 'ai jamais utiliser 2 tables dans la même form. pour chaque table je fait une nouvelle connexion (dans une nouvelle form) . mais au niveau du module je le laisse tel qu'il est. je ne sais pas. essayes ta méthode et si elle ne marche pas essayes la mienne
a+
0
voila je commence avec le vb.
J'ai créer une interface, les utilsateurs remplice des cases (peu) mais j'aimerai qu'ils puissent enregistrer leur travail. Pour ça j'ai deja créer un menu fichier - enregistrer dans la barre des taches mais je ne c pas comment faire des fichiers

merci d'avance pour votre aide
0
salut khouloud tu dois lire des cours sur la technologie ADO, tu dois comprendre les methodes de connexion et les controles qui vous aides à le faire, cherche à savoir à quoi sert ces controle: ADOD, DATA et tu dois aussi chercher à koi sert les concepteurs, genre DATAENVIRONEMENT, et DATAREPORT, ces controles sont des controles active-x disponible avec la version 6 de VB. tu pe toujours consulter MSDN qui te donnera tous les exemples de code et d'application dont tu a besoin pour faire des programmes basés sur des bases de données.
n'oublie surtt que tu dois avoir des notions en SQL (structured querry language), cherche sur comment ça marche tu torouvera des cours pour cela, et bon chance :)
0
merci bq.
0