Utiliser une formule provenant d'une base de données

Résolu
DubweiserTM Messages postés 5 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 14 mars 2006 - 13 mars 2006 à 22:09
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 !

6 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
14 mars 2006 à 16:15
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]
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
13 mars 2006 à 23:27
salut,

les objets seront forcément des txtbox? (dans la base)
0
DubweiserTM Messages postés 5 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 14 mars 2006
14 mars 2006 à 14:47
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.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
14 mars 2006 à 14:54
je demande si dans la base, mis à par des valeurs et des opérateurs, les seuls noms d'objets seront forcément des txtbox.
0

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

Posez votre question
DubweiserTM Messages postés 5 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 14 mars 2006
14 mars 2006 à 15:00
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 !
0
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
Je vais programmer autour de ça ! Merci !
0
Rejoignez-nous