我目前正在尝试创建一个用户表单,将其文本框的值插入到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”
已更新
我试图添加一条记录,所以我进行了一次INSERT操作,但是现在出现了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)驱动程序] [mysqld-5.5.59-MariaDB]您遇到错误 您的SQL语法;检查与您的MariaDB相对应的手册 在第1行的')'附近使用正确语法的服务器版本
答案 0 :(得分:0)
最终找到了问题。
以下是输入的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