Comment enregistrer la valeur lié à l'affichage de combobox?
dangelot05
Messages postés
29
Statut
Membre
-
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
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:
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!
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!
15 réponses
-
Bonjour,
montrez le code de "l'enregistrement", puisque c'est celui-ci qui ne marche pas !!!!! -
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!! -
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 -
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!!
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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) & "')" -
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 -
Re,
si champ ID int, remplacez CLng par CInt.
Montrez le code que vous avez ecrit svp
Quelle base avez-vous, MySql, ou ........ -
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! -
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 -
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 sontMYSQL,SQLServer2000,2008
et un peu de Postgresql.
La plupart des applications que j'ai déjà conçu; j'utilise comme langage de programmationPHP
et système de gestion de base de donnéesMYSQL
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 -
Bonjour,
Alors, pour l'instant, quelle base avez-vous et quel langage de programmation ?????? -
Comme je vous ai dit, actuellement j'utilise
PHP
comme langage de programmation etMysql
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! -
Bonjour,
PHP ???????? le code que vous avez presente n'est pas en PHP !!!!!! -
Si, ce n'est pas du
PHP
maisVB6.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 malPHP
est le numéro un et VB number two.
Merci encore!! -
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)