Enregistrement de données à partir de textbox

cs_Rhadamenthys Messages postés 7 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 30 mai 2007 - 29 mai 2007 à 16:14
cs_Rhadamenthys Messages postés 7 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 30 mai 2007 - 30 mai 2007 à 14:22
Bonjour à tous.

Voilà, je voudrais pouvoir enregistré des données qui se trouvent dans un textbox dans ma base de données ACCESS. Mais lorsque je veux validé, rien ne ce passe, ou alors le programme se fige.

Voici ma requete :

    rs.Open "select distinct * from Entrées b inner join Propose a on a.n°_entree = b.n°_entree Order by a.passage asc", db, adOpenKeyset, adLockOptimistic

et voici mon code de validation :

        If (B = vbYes) Then
            On Error Resume Next
             rs.AddNew
                rs.Fields("Titre_du_film").Value = txt_film.Text
                rs![passage] = txt_date.Text
                rs![Tarif_normal] = txt_normal.Text
                rs![Tarif_reduit] = txt_reduit.Text
                rs![Exonere] = txt_exo.Text
                rs![Tarif_groupe_douchy] = txt_douch.Text
                rs![Tarif_groupe_exterieur] = txt_ext.Text
             rs.Update
             TabStrip1.Tabs.Item(2).Caption = "Ajout de valeurs"
             Call EffacerChamps
        Else
        End If

Est ce que cela viendrais de l'ouverture de ma base de donnée ? Je sais pas mais en tout cas j'ai deja essayer et rien n'a changer. Ca fait 3 jours que je suis dessus et je suis dépassé.

Merci de votre aide.

15 réponses

cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
29 mai 2007 à 16:44
Salut,

As-tu essayé de le faire sans activé ta requête ?

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
29 mai 2007 à 16:50
Salut,

Essaye comme cela :

Dim Sql As String


Sql "UPDATE TaTable SET Titre_du_film '" & txt_film.Text & "', passage = '" & txt_date.Text & "', Tarif_normal = '" & txt_normal.Text & "', Tarif_reduit = '" & txt_reduit.Text & "', Exonere = '" &  txt_exo.Text & "', Tarif_groupe_douchy = '" & txt_douch.Text & "', Tarif_groupe_exterieur = '" & txt_ext.Text & "'"




rs.Open Sql, Db,  adOpenKeyset, adLockOptimistic

Par contre, dans cette requête, j'ai pris en compte comme si tous tes champs étaient de type String et non numérique...


A+
Exploreur

 Linux a un noyau, Windows un pépin


 
0
cs_Rhadamenthys Messages postés 7 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 30 mai 2007
29 mai 2007 à 16:52
Merci de ta réponse rapide, mais non même en fermant ma requête rien n'y fait.
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
29 mai 2007 à 17:01
Salut,

As-tu essayé avec la requête de mon post ci-dessus ?

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0

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

Posez votre question
cs_Rhadamenthys Messages postés 7 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 30 mai 2007
29 mai 2007 à 17:39
Alors j'ai essayer ce que tu m'as proposé. Mais ca fait toujours la même chose ... j'avoue que je suis dépassé.
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
30 mai 2007 à 11:23
salut,
déjà pour les types c'est certain, si ta base est bien faite alors la date et les tarifs seront en erreur

enlève la gestion d'erreur pour voir quelle ligne bloque

ensuite on a aussi besoin de connaître le code d'accès (connection et ouverture) à la base.
là on ne sait presque rien, ADO? DAO?

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_Rhadamenthys Messages postés 7 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 30 mai 2007
30 mai 2007 à 11:41
salut,

Desoler je travaille en ADO.

Voici le code pour ouvrir ma base :

    db.Provider = "Microsoft.Jet.Oledb.4.0"
    db.ConnectionString = App.Path & "\Cinema.mdb"
    db.Open
   
    rs.Open "select distinct * from Entrées b inner join Propose a on a.n°_entree = b.n°_entree Order by a.passage asc", db, adOpenKeyset, adLockOptimistic

et voici ma déclaration des variables :
Dim db As New ADODB.Connection
Dim rs As New ADODB.Recordset

J'ai enlevé également la ligne "On Error Resume Next", mais aucune erreur n'est décelé. La date et les tarifs sont deux tables différentes.
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
30 mai 2007 à 11:46
et B c'est quoi?
parce que tu l'utilises d'un côté comme chaîne, de l'autre comme objet, et enfin comme variable retournant un entier...

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_Rhadamenthys Messages postés 7 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 30 mai 2007
30 mai 2007 à 11:50
B est une variable de type entier qui stock le résultat du msgbox

Voici le code

dim B as integer

        B = MsgBox("Voulez-vous vraiment ajouter ?" & vbCrLf & vbCrLf & _
        "Titre du film : " & txt_film.Text & vbCrLf & _
        "Date : " & txt_date.Text & vbCrLf & _
        "Tarif normal : " & txt_normal.Text & vbCrLf & _
        "Tarif reduit : " & txt_reduit.Text & vbCrLf & _
        "Exonere : " & txt_exo.Text & vbCrLf & _
        "Groupe de douchy : " & txt_douch.Text & vbCrLf & _
        "Groupe externe : " & txt_ext.Text & "", vbYesNo, "Confirmation de l'ajout...")
        If (B = vbYes) Then
            'On Error Resume Next
                rs.AddNew
                    rs![Titre_du_film] = txt_film.Text
                    rs![passage] = txt_date.Text
                    rs![Tarif_normal] = txt_normal.Text
                    rs![Tarif_reduit] = txt_reduit.Text
                    rs![Exonere] = txt_exo.Text
                    rs![Tarif_groupe_douchy] = txt_douch.Text
                    rs![Tarif_groupe_externe] = txt_ext.Text
                rs.Update
             TabStrip1.Tabs.Item(2).Caption = "Ajout de valeurs"
             Call EffacerChamps
        Else
        End If
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
30 mai 2007 à 11:59
Salut, je pense que c'est la requete qui ne va pas. Regarde ce que j'ai trouvé dans l'aide.

La sortie d'une requête qui utilise DISTINCT ne peut pas être mise à jour et ne reflète pas les modifications qui sont faites ultérieurement par d'autres utilisateurs., , ----
 
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
30 mai 2007 à 12:05
Heu désolé

rs.Open "select * from Entrées b Order by a.passage asc", db, adOpenKeyset, adLockOptimistic
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
30 mai 2007 à 12:41
Rhadamenthys
-> je parlais du b aussi dans ta requête...
from Entrées b inner join Propose a on a.n°_entree = b.n°_entree

Nicko11 -> merci de te relire avant de poster. les topics de XX messages avec des pavés de spams... çà devient plus que gênant
<hr size ="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_Rhadamenthys Messages postés 7 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 30 mai 2007
30 mai 2007 à 14:05
Salut,

Oui Nicko11, j'ai deja essayer cette requete la. Mais le problème est que lorsque je veux afficher ma requête, je l'affiche dans un listview. Et si je ne met pas le distinct, il me met plusieurs fois la meme ligne. A moins que je ne modifie entierement ma BDD.
je vais testé sa.

Et pour ce qui est du "b" das la requête, il s'agit la d'une sorte de raccourcie permettant d'éviter d'écrire a chaque fois le nom de la table. Est ce que sa pourrait géner au niveau du B pour le msgbox ?
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
30 mai 2007 à 14:20
Rhadamenthys:


 Rien ne t'empeche de faire une requete rien que pour le Add et une autre pour l'affichage mais tu vois que d'apres l'aide, ce n'est pas possible.



 PCPT:  Désolé mais je ne vois pas de quoi tu parles. "les topics de XX messages avec des pavés de spams", je relie toujours une fois vite fait et je ne vois pas a quoi tu fais référence.
0
cs_Rhadamenthys Messages postés 7 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 30 mai 2007
30 mai 2007 à 14:22
Apres avoir enlevé le    On Error Resume Next et avoir modifié la variable B. VB m'insulte en disant que la base de donnée est en lecture seul.
J'ai donc enlevé le Distinct et maintenant ca fonctionne. Merci à vous deux car tout les deux vous aviez vue juste .

Un grand merci.
0