数据库不会通过用户窗体获得新值
Database won't get new values with a userform
我目前正在尝试创建一个用户表单,将其文本框的值插入到 MariaDB 数据库中。我没有收到任何类型的错误,但是,这些值不在基础中。
这是我此时的代码
Private Sub NouvelleEntree()
Dim rs As ADODB.Recordset
Dim Derligne As Integer, i As Integer
Dim Requete As String
Set rs = New ADODB.Recordset
ConnectionDB
'Stop
Requete = "SELECT * FROM Produits_Beta"
rs.Open Requete, oConnect, LockType:=adLockBatchOptimistic
rs.Fields("Ref").Value = CreateProduct.NewRefProduct.Value
rs.Fields("Nom").Value = CreateProduct.NewNomProduct.Value
rs.Fields("Famille").Value = CreateProduct.NewFamilleProduct.Value
rs.Fields("Marque").Value = CreateProduct.NewMarqueProduct.Value
rs.Fields("Distributeur").Value = CreateProduct.NewDistribProduct.Value
rs.Fields("Prix achat").Value = CreateProduct.NewPrixAchat.Value
rs.Fields("Date Maj").Value = Now()
rs.Fields("PrixVente").Value = CreateProduct.NewPrixVente.Value
rs.Fields("Marge").Value = CreateProduct.NewPrixVente.Value - CreateProduct.NewPrixAchat.Value
rs.Fields("DevisFournisseur").Value = CreateProduct.NewDevisFournisseur.Value
rs.Fields("Image").Value = CreateProduct.NewImageProduct.Value
rs.Update
rs.Close
CreateProduct.Hide
SelectProduct.Hide
End Sub
正如您可能猜到的那样,该 useform 名为 "CreateProduct"
已更新
我试图添加一条记录,所以我做了一个插入,但是,我现在有一个 SQL 语法错误。
Private Sub NouvelleEntree()
Dim rs As ADODB.Recordset
Dim Derligne As Integer, i As Integer
Dim Requete As String
Dim guillemet As String
nop = ", "
Set rs = New ADODB.Recordset
ConnectionDB
Requete = "INSERT INTO Produits_Beta (Ref, Nom, Famille, _
Marque, Distributeur, PrixAchat, DateMaj, _
PrixVente, Marge, DevisFournisseur, Image) " & _
"VALUES (" & CreateProduct.NewRefProduct.Value & nop & _
CreateProduct.NewNomProduct.Value & nop & _
CreateProduct.NewFamilleProduct.Value & nop & _
CreateProduct.NewFamilleProduct.Value & nop & _
CreateProduct.NewMarqueProduct.Value & nop & _
CreateProduct.NewDistribProduct.Value & nop & _
CreateProduct.NewPrixAchat.Value & nop & _
Date & nop & _
CreateProduct.NewPrixVente.Value & nop & _
CreateProduct.NewPrixVente.Value - CreateProduct.NewPrixAchat.Value & nop & _
CreateProduct.NewDevisFournisseur.Value & nop & _
CreateProduct.NewImageProduct.Value & ")"
rs.Open Requete, oConnect, LockType:=adLockBatchOptimistic
rs.Update
rs.Close
CreateProduct.Hide
SelectProduct.Hide
End Sub
我有错误
[MySQL][ODBC 5.3(a) Driver][mysqld-5.5.59-MariaDB]You have an error in
your SQL syntax; check the manual that corresponds to your MariaDB
server version for the right syntax to use near ')' at line 1
最终找到了问题。
输入的 VALUES 如下
INSERT INTO table1 VALUES (exemple1, exemple2)
而它们必须作为
插入
INSERT INTO table1 VALUES ('exemple1', 'exemple2')
这是我的最终代码:
Private Sub NouvelleEntree()
Dim rs As ADODB.Recordset
Dim Derligne As Integer, i As Integer
Dim Requete As String
Dim guillemet As String
Dim Temps As Date
nop = ", "
TruePrixVente = Replace(CreateProduct.NewPrixVente.Value, ".", ",") 'replace the dot a user can put by a coma so it doesn't mess with operations
TruePrixAchat = Replace(CreateProduct.NewPrixAchat.Value, ".", ",")
Set rs = New ADODB.Recordset
ConnectionDB
Requete = "INSERT INTO Produits_Beta (Ref, Nom, Famille, Marque, Distributeur, PrixAchat, DateMaj, PrixVente, Marge, DevisFournisseur, Image) " & _
"VALUES (" & "'" & CreateProduct.NewRefProduct.Value & "'" & nop & _
"'" & CreateProduct.NewNomProduct.Value & "'" & nop & _
"'" & CreateProduct.NewFamilleProduct.Value & "'" & nop & _
"'" & CreateProduct.NewMarqueProduct.Value & "'" & nop & _
"'" & CreateProduct.NewDistribProduct.Value & "'" & nop & _
"'" & TruePrixAchat & "'" & nop & _
"CURDATE()" & nop & _
"'" & TruePrixVente & "'" & nop & _
"'" & TruePrixVente - TruePrixAchat & "'" & nop & _
"'" & CreateProduct.NewDevisFournisseur.Value & "'" & nop & _
"'" & CreateProduct.NewImageProduct.Value & "'" & ");"
rs.Open Requete, oConnect, LockType:=adLockBatchOptimistic
我目前正在尝试创建一个用户表单,将其文本框的值插入到 MariaDB 数据库中。我没有收到任何类型的错误,但是,这些值不在基础中。
这是我此时的代码
Private Sub NouvelleEntree()
Dim rs As ADODB.Recordset
Dim Derligne As Integer, i As Integer
Dim Requete As String
Set rs = New ADODB.Recordset
ConnectionDB
'Stop
Requete = "SELECT * FROM Produits_Beta"
rs.Open Requete, oConnect, LockType:=adLockBatchOptimistic
rs.Fields("Ref").Value = CreateProduct.NewRefProduct.Value
rs.Fields("Nom").Value = CreateProduct.NewNomProduct.Value
rs.Fields("Famille").Value = CreateProduct.NewFamilleProduct.Value
rs.Fields("Marque").Value = CreateProduct.NewMarqueProduct.Value
rs.Fields("Distributeur").Value = CreateProduct.NewDistribProduct.Value
rs.Fields("Prix achat").Value = CreateProduct.NewPrixAchat.Value
rs.Fields("Date Maj").Value = Now()
rs.Fields("PrixVente").Value = CreateProduct.NewPrixVente.Value
rs.Fields("Marge").Value = CreateProduct.NewPrixVente.Value - CreateProduct.NewPrixAchat.Value
rs.Fields("DevisFournisseur").Value = CreateProduct.NewDevisFournisseur.Value
rs.Fields("Image").Value = CreateProduct.NewImageProduct.Value
rs.Update
rs.Close
CreateProduct.Hide
SelectProduct.Hide
End Sub
正如您可能猜到的那样,该 useform 名为 "CreateProduct"
已更新
我试图添加一条记录,所以我做了一个插入,但是,我现在有一个 SQL 语法错误。
Private Sub NouvelleEntree()
Dim rs As ADODB.Recordset
Dim Derligne As Integer, i As Integer
Dim Requete As String
Dim guillemet As String
nop = ", "
Set rs = New ADODB.Recordset
ConnectionDB
Requete = "INSERT INTO Produits_Beta (Ref, Nom, Famille, _
Marque, Distributeur, PrixAchat, DateMaj, _
PrixVente, Marge, DevisFournisseur, Image) " & _
"VALUES (" & CreateProduct.NewRefProduct.Value & nop & _
CreateProduct.NewNomProduct.Value & nop & _
CreateProduct.NewFamilleProduct.Value & nop & _
CreateProduct.NewFamilleProduct.Value & nop & _
CreateProduct.NewMarqueProduct.Value & nop & _
CreateProduct.NewDistribProduct.Value & nop & _
CreateProduct.NewPrixAchat.Value & nop & _
Date & nop & _
CreateProduct.NewPrixVente.Value & nop & _
CreateProduct.NewPrixVente.Value - CreateProduct.NewPrixAchat.Value & nop & _
CreateProduct.NewDevisFournisseur.Value & nop & _
CreateProduct.NewImageProduct.Value & ")"
rs.Open Requete, oConnect, LockType:=adLockBatchOptimistic
rs.Update
rs.Close
CreateProduct.Hide
SelectProduct.Hide
End Sub
我有错误
[MySQL][ODBC 5.3(a) Driver][mysqld-5.5.59-MariaDB]You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
最终找到了问题。
输入的 VALUES 如下
INSERT INTO table1 VALUES (exemple1, exemple2)
而它们必须作为
插入INSERT INTO table1 VALUES ('exemple1', 'exemple2')
这是我的最终代码:
Private Sub NouvelleEntree()
Dim rs As ADODB.Recordset
Dim Derligne As Integer, i As Integer
Dim Requete As String
Dim guillemet As String
Dim Temps As Date
nop = ", "
TruePrixVente = Replace(CreateProduct.NewPrixVente.Value, ".", ",") 'replace the dot a user can put by a coma so it doesn't mess with operations
TruePrixAchat = Replace(CreateProduct.NewPrixAchat.Value, ".", ",")
Set rs = New ADODB.Recordset
ConnectionDB
Requete = "INSERT INTO Produits_Beta (Ref, Nom, Famille, Marque, Distributeur, PrixAchat, DateMaj, PrixVente, Marge, DevisFournisseur, Image) " & _
"VALUES (" & "'" & CreateProduct.NewRefProduct.Value & "'" & nop & _
"'" & CreateProduct.NewNomProduct.Value & "'" & nop & _
"'" & CreateProduct.NewFamilleProduct.Value & "'" & nop & _
"'" & CreateProduct.NewMarqueProduct.Value & "'" & nop & _
"'" & CreateProduct.NewDistribProduct.Value & "'" & nop & _
"'" & TruePrixAchat & "'" & nop & _
"CURDATE()" & nop & _
"'" & TruePrixVente & "'" & nop & _
"'" & TruePrixVente - TruePrixAchat & "'" & nop & _
"'" & CreateProduct.NewDevisFournisseur.Value & "'" & nop & _
"'" & CreateProduct.NewImageProduct.Value & "'" & ");"
rs.Open Requete, oConnect, LockType:=adLockBatchOptimistic