vb中表导入access中并保存解决方案
vb中表导入access中并保存
图书管理系统,现在已经可以把excel中的数据显示在vb的表中,希望能把这些数据保存在access数据库指定的表中
下面是一段从网上找的例子,但是它是导出为EXCEL,我希望是能保存在指定的数据库指定的表中,希望大家帮忙哈,分数不是问题哈!
[code=VB][/code]
'通用EXCEL输入输出模块
'常用的EXCEL对象操作
'请注意:无论何时,当程序或用户需要改变前单元格,都请使用ChangeCell这个方法,
' 而不要直接通过Grid的Row和Col属性来指定位置。
Option Explicit
Dim XApp As New Excel.Application
Dim XBook As New Excel.Workbook
Dim XSheet As New Excel.Worksheet
Dim Saved As Boolean
Dim SheetNames() As String
Private Type Cell
R As Long
C As Long
Color As Long
Content As String
End Type
Dim CellINF As Cell
Private Sub About_Click()
MsgBox "一些最常用的EXCEL操作技巧:快速将数据从MSFLEXGRID控件导出到EXCEL,快速将数据从EXCEL导入到MSFLEXGRID控件" & Chr(13) & Chr(9) & "如何通过剪贴板将数据在程序和EXCEL中相互粘贴" & Chr(13) & Chr(9) & "如何利用一个TEXT控件来使你的MSFLEXGRID可以编辑" & Chr(13) & Chr(9) & "如果使程序具有修改后退出提示保存的功能" & Chr(13) & Chr(9) & "最后还加了个好玩缺不实用的功能:将图片转换成EXCEL拚图。" & Chr(13) & Chr(9) & "不过这个功能超慢,不是慢在VB的Point方法上,而是慢在EXCEL上,大家到时看进程管理器就知道怎么回事。"
End Sub
Private Sub Combo1_Click()
ArrangeGrid Combo1.ListIndex
End Sub
Private Sub Command1_Click(Index As Integer)
Dim FN As String
Select Case Index
Case 0: File__Click 0
Case 1: File__Click 2
Case 2: File__Click 5
End Select
End Sub
Private Sub Edit__Click(Index As Integer)
Select Case Index
Case 0: ChangeCell 1, 1, 1
With Grid1(Combo1.ListIndex)
.RowSel = .Rows - 1
.ColSel = .Cols - 1
End With
Case 1: Clipboard.SetText Grid1(Combo1.ListIndex).Clip
Case 2: Clipboard.SetText Grid1(Combo1.ListIndex).Clip
Clipboard.SetText Grid1(Combo1.ListIndex).Clip = ""
Saved = False
Case 3: PasteGrid Combo1.ListIndex
Saved = False
End Select
End Sub
Private Sub File__Click(Index As Integer)
Dim FN As String
Select Case Index
Case 0: CommonDialog1.Filter = "*.XLS;*.CSV|*.XLS;*.CSV"
CommonDialog1.ShowOpen
FN = CommonDialog1.FileName
If FN <> "" Then OpenXls FN
Case 1:
Case 2: CommonDialog1.Filter = "*.XLS|*.XLS"
CommonDialog1.ShowSave
FN = CommonDialog1.FileName
If FN <> "" Then
Saved = SaveXls(FN)
End If
Case 3:
Case 4: CommonDialog1.Filter = "*.BMP;*.GIF;*.ICO;*.JPG|*.BMP;*.GIF;*.ICO;*.JPG"
CommonDialog1.ShowOpen
FN = CommonDialog1.FileName
If FN <> "" Then PicToExl FN
Case 5: Unload Me
End Select
End Sub
Private Sub Form_Load()
Set XApp = New Excel.Application
Combo1.AddItem ""
Combo1.ListIndex = 0
Saved = True
End Sub
Private Function SaveXls(ByVal XFileName As String) As Boolean '将数据从GRID控件保存到EXCEL文件
Dim I As Long
Dim L As Long
On Error GoTo ErrLine
XApp.Workbooks.Add
Set XBook = XApp.Workbooks(XApp.Workbooks.Count)
For I = 1 To 3
Set XSheet = XBook.Sheets(I)
XSheet.Name = I & Chr(9) & I
Next
For I = 3 To Grid1.Count - 2
XBook.Worksheets.Add
Next
Bar1.Max = Grid1.Count - 2
For I = 0 To Grid1.Count - 2
Bar1.Value = I
图书管理系统,现在已经可以把excel中的数据显示在vb的表中,希望能把这些数据保存在access数据库指定的表中
下面是一段从网上找的例子,但是它是导出为EXCEL,我希望是能保存在指定的数据库指定的表中,希望大家帮忙哈,分数不是问题哈!
[code=VB][/code]
'通用EXCEL输入输出模块
'常用的EXCEL对象操作
'请注意:无论何时,当程序或用户需要改变前单元格,都请使用ChangeCell这个方法,
' 而不要直接通过Grid的Row和Col属性来指定位置。
Option Explicit
Dim XApp As New Excel.Application
Dim XBook As New Excel.Workbook
Dim XSheet As New Excel.Worksheet
Dim Saved As Boolean
Dim SheetNames() As String
Private Type Cell
R As Long
C As Long
Color As Long
Content As String
End Type
Dim CellINF As Cell
Private Sub About_Click()
MsgBox "一些最常用的EXCEL操作技巧:快速将数据从MSFLEXGRID控件导出到EXCEL,快速将数据从EXCEL导入到MSFLEXGRID控件" & Chr(13) & Chr(9) & "如何通过剪贴板将数据在程序和EXCEL中相互粘贴" & Chr(13) & Chr(9) & "如何利用一个TEXT控件来使你的MSFLEXGRID可以编辑" & Chr(13) & Chr(9) & "如果使程序具有修改后退出提示保存的功能" & Chr(13) & Chr(9) & "最后还加了个好玩缺不实用的功能:将图片转换成EXCEL拚图。" & Chr(13) & Chr(9) & "不过这个功能超慢,不是慢在VB的Point方法上,而是慢在EXCEL上,大家到时看进程管理器就知道怎么回事。"
End Sub
Private Sub Combo1_Click()
ArrangeGrid Combo1.ListIndex
End Sub
Private Sub Command1_Click(Index As Integer)
Dim FN As String
Select Case Index
Case 0: File__Click 0
Case 1: File__Click 2
Case 2: File__Click 5
End Select
End Sub
Private Sub Edit__Click(Index As Integer)
Select Case Index
Case 0: ChangeCell 1, 1, 1
With Grid1(Combo1.ListIndex)
.RowSel = .Rows - 1
.ColSel = .Cols - 1
End With
Case 1: Clipboard.SetText Grid1(Combo1.ListIndex).Clip
Case 2: Clipboard.SetText Grid1(Combo1.ListIndex).Clip
Clipboard.SetText Grid1(Combo1.ListIndex).Clip = ""
Saved = False
Case 3: PasteGrid Combo1.ListIndex
Saved = False
End Select
End Sub
Private Sub File__Click(Index As Integer)
Dim FN As String
Select Case Index
Case 0: CommonDialog1.Filter = "*.XLS;*.CSV|*.XLS;*.CSV"
CommonDialog1.ShowOpen
FN = CommonDialog1.FileName
If FN <> "" Then OpenXls FN
Case 1:
Case 2: CommonDialog1.Filter = "*.XLS|*.XLS"
CommonDialog1.ShowSave
FN = CommonDialog1.FileName
If FN <> "" Then
Saved = SaveXls(FN)
End If
Case 3:
Case 4: CommonDialog1.Filter = "*.BMP;*.GIF;*.ICO;*.JPG|*.BMP;*.GIF;*.ICO;*.JPG"
CommonDialog1.ShowOpen
FN = CommonDialog1.FileName
If FN <> "" Then PicToExl FN
Case 5: Unload Me
End Select
End Sub
Private Sub Form_Load()
Set XApp = New Excel.Application
Combo1.AddItem ""
Combo1.ListIndex = 0
Saved = True
End Sub
Private Function SaveXls(ByVal XFileName As String) As Boolean '将数据从GRID控件保存到EXCEL文件
Dim I As Long
Dim L As Long
On Error GoTo ErrLine
XApp.Workbooks.Add
Set XBook = XApp.Workbooks(XApp.Workbooks.Count)
For I = 1 To 3
Set XSheet = XBook.Sheets(I)
XSheet.Name = I & Chr(9) & I
Next
For I = 3 To Grid1.Count - 2
XBook.Worksheets.Add
Next
Bar1.Max = Grid1.Count - 2
For I = 0 To Grid1.Count - 2
Bar1.Value = I