Comment enregistrer la valeur lié à l'affichage de combobox?

Fermé
dangelot05 Messages postés 24 Date d'inscription vendredi 13 juin 2014 Statut Membre Dernière intervention 20 février 2017 - 12 nov. 2014 à 09:44
f894009 Messages postés 17192 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 juin 2024 - 17 nov. 2014 à 14:54
Bonjour à tous,
je suis à la recherche d'une aide sur l'enregistrement d'une valeur de combobox lié à un affichage c'est-à-dire j'affiche la description d'une clé étrangère mais lors de l'enregistrement c'est la clé étrangère qui sera enregistrée mais je parvient pas à le faire car en enregistrant il y a un message d'erreur m'informant que la conversion est impossible. Personnellement en décortiquant l'erreur, j'ai sû que le compilateur envois deux valeurs à savoir la clé étrangère et la description qui est un autre champ. Je vous fait part de mon code pour mieux m'aider:

Private sub form_load()
Dim req As String
Dim rcs As New ADODB.RecordSet
'Début d'appel du module de connexion
cbonum.clear
connexion.connexion
req="SELECT* from compteur"
rcs.Open req, connexion.cnx,AdOpenStatic
while Not rcs.EOF
cbonum.AddItem(rcs.fields(IdCompteur)& " " & rcs.fields("Description"))
wend
rcs.Close
End Sub

comme vous le voyez, sur l'affichage il n'y a aucun problème mais l'enregistrement m'est vraiment impossible; je vous prie de m'aider et merci d'avance à toute personne aimable qui m'aidera!
A voir également:

15 réponses

f894009 Messages postés 17192 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 juin 2024 1 708
12 nov. 2014 à 10:25
Bonjour,

montrez le code de "l'enregistrement", puisque c'est celui-ci qui ne marche pas !!!!!
0
dangelot05 Messages postés 24 Date d'inscription vendredi 13 juin 2014 Statut Membre Dernière intervention 20 février 2017
12 nov. 2014 à 14:26
Merci de votre réponse et voici comment j'ai codé le bouton enregistrer:

Private Sub enr_click()
Dim req As String
Dim rcs As New ADODB.RecordSet

'Début de la connexion, j'ai utilisé un module appelé connexion
call connexion.connexion
req="INSERT INTO client(IdCompteur,Nom) values('"& Trim(cbonum.Text) &"','"& Trim(txtnom.Text) &"')"
call executerrequate(req)

Ceci est mon code d'enregistrement mais lorsque je clic sur le bouton enr, il y a une erreur qui s'affiche m'informant que c'est impossible de convertir le chaine de caractère et j'ai fini par comprendre que le compilateur est entrain d'envoyer deux valeur car IdCompteur a le type int et Description le type Varchar. Veuillez m'aider avec un code qui ignorera l'affichage et envoyer la clé étrangère qui IdCompteur et l'affichage c'est la Description qui doit être ignorée. Merci d'avance pour votre aide!!
0
f894009 Messages postés 17192 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 juin 2024 1 708
12 nov. 2014 à 15:26
Re,

Dans cbonum, vous avez deux choses: IdCompteur et Description. Il n'est pas possible de prendre cbonum pour

req="INSERT INTO client(IdCompteur,Nom) values('"& Trim(cbonum.Text) &"','"& Trim(txtnom.Text) &"')"


il faut extraire l'IdCompteur de la chaine de caracteres de cbonum
0
dangelot05 Messages postés 24 Date d'inscription vendredi 13 juin 2014 Statut Membre Dernière intervention 20 février 2017
13 nov. 2014 à 07:43
Merci encore mais je ne sais pas comment extraire IdCompteur tout en affichant la Description sur la zone. Vueillez m'aider car je suis dans le besoin!!
0

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

Posez votre question
f894009 Messages postés 17192 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 juin 2024 1 708
13 nov. 2014 à 11:23
Bonjour,

essayez avec ceci:

    Dim TInfos
'recup ID dans TInfos(0)
TInfos = Split(cbonum.Text, " ")
'CLng: conversion chaine en entier long
req = "INSERT INTO client(IdCompteur,Nom) values('" & CLng(TInfos(0)) & "','" & Trim(txtnom.Text) & "')"
0
dangelot05 Messages postés 24 Date d'inscription vendredi 13 juin 2014 Statut Membre Dernière intervention 20 février 2017
Modifié par dangelot05 le 13/11/2014 à 14:59
Merci encore,
Je viens de tester le code mais il y a l'erreur persiste
Voici le message d'erreur:
Run-time error '-21471217913(80040e07)

Erreur de syntaxe lors de la conversion de la valeur varchar '1 Monophasé' vers une colonne de type de données int

je conclus que le compilateur tient toujours compte de la valeur du champ affichéDescription au lieu d'envoyer la valeur de IdCompteur qui est 1 si c'est Monophasé; comment ignoré la valeur du champ Description et envoyé la valeur de IdCompteur?.
Je suis vraiment bloqué, je vous prie de m'aider encore pour que je parvienne à enregistrer la valeur liée à l'affichage. Merci d'avance
0
f894009 Messages postés 17192 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 juin 2024 1 708
Modifié par f894009 le 13/11/2014 à 14:53
Re,

si champ ID int, remplacez CLng par CInt.

Montrez le code que vous avez ecrit svp

Quelle base avez-vous, MySql, ou ........
0
dangelot05 Messages postés 24 Date d'inscription vendredi 13 juin 2014 Statut Membre Dernière intervention 20 février 2017
13 nov. 2014 à 15:03
Salut, voici le code que j'ai utilisé

Dim TInfos
TInfos = Split(cbonum.Text, " ")
req = "INSERT INTO client(IdCompteur,Nom) values('" & CLng(TInfos(0)) & "','" & Trim(txtnom.Text) & "')"

Ceci est le code que je viens d'utiliser tout de suite et qui m'affiche le message précedent!
0
f894009 Messages postés 17192 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 juin 2024 1 708
13 nov. 2014 à 16:15
Re,

quand vous avez l'erreur, clic sur debugage et passez le curseur souris sur cbonum.text et TInffos(0) . Mettez les valeurs dans votre prochain message

Repondez aux questions precdentes svp
0
dangelot05 Messages postés 24 Date d'inscription vendredi 13 juin 2014 Statut Membre Dernière intervention 20 février 2017
Modifié par dangelot05 le 14/11/2014 à 11:47
Salut!
je m'excuse de ne pas répondre aux questions que vous m'avez posées.
Concernant la connaissance sur MYSQL, cette dernière n'est pas médiocre car les systèmes de gestion que je maitrise sont
MYSQL,SQLServer2000,2008 
et un peu de Postgresql.
La plupart des applications que j'ai déjà conçu; j'utilise comme langage de programmation
PHP
et système de gestion de base de données
MYSQL
mais VB6.0 est mon premier langage de programmation utilisé lorsque j'étais à l'université et SQLServer2000 mon système de gestion de base données.
Mon seul souci est de mieux manipuler mes deux langages de programmation y compris JAVA dont je suis parmi les débutant.
Je vous prie de m'aider avec le code de comment enregistrer cette clé étrangère liée à l'affichage! Merci encore et que DIEU vous bénisse
0
f894009 Messages postés 17192 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 juin 2024 1 708
15 nov. 2014 à 18:08
Bonjour,

Alors, pour l'instant, quelle base avez-vous et quel langage de programmation ??????
0
dangelot05 Messages postés 24 Date d'inscription vendredi 13 juin 2014 Statut Membre Dernière intervention 20 février 2017
17 nov. 2014 à 13:27
Comme je vous ai dit, actuellement j'utilise
PHP
comme langage de programmation et
Mysql
comme système de gestion de base de données. Mais je maitrise aussi pas à 100% Visual Basic 6.0 et SQLServer2000,2008
Merci pour votre aide!
0
f894009 Messages postés 17192 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 juin 2024 1 708
17 nov. 2014 à 13:46
Bonjour,

PHP ???????? le code que vous avez presente n'est pas en PHP !!!!!!
0
dangelot05 Messages postés 24 Date d'inscription vendredi 13 juin 2014 Statut Membre Dernière intervention 20 février 2017
17 nov. 2014 à 14:01
Si, ce n'est pas du
PHP
mais
VB6.0
.
L'aide que je veux c'est sur Visual Basic 6.0, si vous avez lu mon message précedent, je vous ai décrit les langages de programmation que je maitrise pas mal
PHP
est le numéro un et VB number two.
Merci encore!!
0
f894009 Messages postés 17192 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 juin 2024 1 708
Modifié par f894009 le 17/11/2014 à 15:06
Re,
Ok pour le VB6.0, dernière chose, avez-vous fait ce que je demandai dans le Lien (#9) ?

Pourriez_vous montrez le code de

call executerrequate(req)
0