要将Excel表中的开票信息自动保存到数据库中,你需要编写一个VBA宏,然后在Excel表单元格中设置触发器来执行该宏。以下是一个简单的示例代码:
```VBA
SaveToDatabase()
'连接数据库
conn As New ADODB.Connection
ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\path\to\database.accdb;"
Open
'获取表单数据
invoiceNumber As String
customerName As String
amount As Double
invoiceNumber = Range("A1").Value
customerName = Range("B1").Value
amount = Range("C1").Value
'插入数据到数据库
sql As String
= "INSERT INTO Invoices (InvoiceNumber, CustomerName, Amount) VALUES ('" & invoiceNumber & "', '" & customerName & "', " & amount & ")"
Execute sql
'关闭连接
Close
Sub
```
在Excel表单元格中,你可以使用Worksheet_Change事件来调用该宏。例如,如果你想在A1、B1和C1单元格中输入开票信息并自动保存到数据库中,那么可以在Excel VBA编辑器中打开该工作表,并添加以下代码:
```VBA
Private Sub Worksheet_Change(ByVal Target As Range)
Not Intersect(Target, Range("A1:C1")) Is Nothing Then
SaveToDatabase
If
Sub
```
这样,每当你在A1、B1或C1单元格中输入或更改信息时,该宏就会自动保存到数据库中。请注意,这只是一个简单的示例代码,你需要根据你的实际情况进行修改和调整。