Utiliser une formule provenant d'une base de données [Résolu]

Messages postés
5
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
14 mars 2006
- - Dernière réponse : DubweiserTM
Messages postés
5
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
14 mars 2006
- 14 mars 2006 à 20:21
Bonjour !



Je travailles sur une application pour la mise en production d'armoires....



Je me demandais comment faire pour utiliser une formule qui est
enregistrer dans une base de données. Dans l'image ci-dessous on voit
la base de donnée.







Par exemple, les valeurs de Text1 et Text2 sont égales à 10



Selon le code ci-dessous, la valeur de txtside.text = (Text1.text * Text2.text)



Ce que je veux, c'est que txtside.text = 100

Private Sub Command1_Click()
'Side
Data1.Recordset.MoveFirst
txtside.Text = Data1.Recordset.Fields("Side").Value
End Sub


Merci à l'avance !
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
28
3
Merci
bon, je t'ai fait la partie la plus chi***te...








nouveau projet, pose 4 txtbox par défaut, et un bouton.


[VB6]





le résultat est la chaîne calculable, remplacée par les valeurs voulues.





il te reste à interpréter les opérateurs, mais çà il y a déjà des sources existantes sur VbFrance









Option Explicit

'

Const sSIDE As String = "(Text1.Text * Text2.Text)"

Const sBOTTOM As String = "(Text3.Text - Text4.Text) * 2)"

Const sDOOR As String = "(Text1.Text / 2) - 0.125)"

'

'

Private Sub Form_Load()

Text1.Text = "10"

Text2.Text = "10"

Text3.Text = "40"

Text4.Text = "27,4"

End Sub

'

'

Private Sub Command1_Click()

MsgBox sSIDE & vbCrLf & GetResultString(sSIDE)

MsgBox sBOTTOM & vbCrLf & GetResultString(sBOTTOM)

MsgBox sDOOR & vbCrLf & GetResultString(sDOOR)

End Sub

'

'

Private Function GetResultString(ByVal sChaine As String) As String

sChaine = Replace (sChaine, "(Text", "( Text")



' on commence par remplacer les libellés "NOM.text" par leur contenu réel

Dim Ctrl As Object, i As Integer, iPos1 As Integer, iPos2 As Integer

Dim sObjName As String, sObjValue As String, bFound As Boolean




iPos1 = InStr(1, sChaine, " Text")

While iPos1 > 0

iPos1 = iPos1 + 1 'ici la position du début

iPos2 = InStr (iPos1, sChaine, ".Text")
sObjName = Mid$(sChaine, iPos1, iPos2 - iPos1)

bFound = False

For Each Ctrl In Me

If TypeOf Ctrl Is TextBox Then

If Ctrl.Name = sObjName Then

bFound = True

sObjValue = Ctrl.Text

Exit For

End If

End If

Next



If Not bFound Then 'au cas où

Err.Raise vbObject, , "La zone texte de la formule n'existe pas!!!!!!"

Else

sChaine = Replace (sChaine, sObjName & ".Text", sObjValue)

iPos1 = InStr(1, sChaine, " Text")

End If

Wend

sChaine = Replace (sChaine, " ", vbNullString)



' retour

GetResultString = Replace(sChaine, ",", ".")

End Function





<small> Coloration
syntaxique automatique [AFCK]</small>




++

PCPT [AFCK]

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 215 internautes nous ont dit merci ce mois-ci

Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
28
0
Merci
salut,

les objets seront forcément des txtbox? (dans la base)
Messages postés
5
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
14 mars 2006
0
Merci
Je n'arrive pas à comprendre ta question ?



Dans le programme, les objets sont bel et bien des Textbox, sauf que dans la base de données se sont des champs textes.
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
28
0
Merci
je demande si dans la base, mis à par des valeurs et des opérateurs, les seuls noms d'objets seront forcément des txtbox.
Messages postés
5
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
14 mars 2006
0
Merci
Ahhh Okay !



La majorité seront des variables et des Textbox...



Les mêmes variables seront utilisé pour plusieurs meubles.



Voici quelques exemples:



LargCoté, ProfCoté, LargPorte, HautPorte etc...



Merci !
Messages postés
5
Date d'inscription
vendredi 7 novembre 2003
Statut
Membre
Dernière intervention
14 mars 2006
0
Merci
Je vais programmer autour de ça ! Merci !