Lấy dữ liệu từ Access đưa vào Excel

Liên hệ QC

an_bmt

Thành viên mới
Tham gia
29/7/07
Bài viết
14
Được thích
0
Kính gửi cộng đồng và các thành viên của diễn đàn
Em đã đọc bài viết của anh duyệt ADO toàn tập trong đó có phần Lấy dữ liệu từ Access đưa vào Excel

Hiện em đang có 1 vấn đề nhỏ mong các thành viên của diễn đàn giúp đỡ, Em làm nghề xây dựng, phần mềm em sử dụng chỉ xuất kết quả ra được file access mà quá trình tính toán thì lại làm viêc trên nền excell, do đó em đã đọc bài viết trên của anh duyệt ADO toàn tập nhưng em không thực hiện được, mong các thành viên của diễn đàn viết dùm cho em 1 đoạn code để add vào VBA của file excell,
mục đích chính là :
ví dụ có 1 file Access bao gồm 20 bảng số liệu và làm thế nào để tạo 1 combor gắn với 1macro import access thì 20 bảng tính tự động cập nhật vào 20 sheet của file excell và tự đổi tên các sheet bằng tên các bảng số liệu, chỉ đơn thuần xuất các gía trị ở access sang excell chứ không có công thức hay thuật toán gì hết
Rất mong sự giúp đỡ của anh. Em xin chân thành cảm ơn./
1thành viên của giaiphapexcel.com rất mong sự giúp đỡ.
 
Sub Tao_Menu()
Dim MenuC1 As CommandBarPopup
Dim MenuC2 As CommandBarButton
Set MenuC1 = Application.CommandBars("Worksheet Menu Bar").Controls.Add(Type:=msoControlPopup, Before:=8, Temporary:=True)
With MenuC1
.Caption = "Earthquake-Windquake"
End With
Set MenuC2 = MenuC1.Controls.Add(Type:=msoControlButton)
With MenuC2
.Caption = "Load file Access"
.OnAction = "Loadfileaccess" ''' Ham molMAIN
.BeginGroup = True
.FaceId = 0
End With
Set MenuC1 = Nothing
Set MenuC2 = Nothing
End Sub
Sub Xoa_Menu()
Application.CommandBars("Worksheet Menu Bar").Controls("Earthquake-Windquake").Delete
End Sub

Global FileMDB
Sub Loadfileaccess()
Application.ScreenUpdating = False
Call xoadatabase
Dim DB As Database
Dim CenterMassRigidity As Recordset
Dim BuildingModes As Recordset
Dim ModalParticipatingMassRatios As Recordset
Dim StoryData As Recordset
Dim i As Integer
Dim column1 As Range
Dim column2 As Range
Dim column3 As Range
Dim column4 As Range
With Application.FileDialog(msoFileDialogOpen)
.Filters.Add "Database File(*.mdb)", "*.MDB", 1
If .Show = -1 Then
FileMDB = .SelectedItems(1)
Else
GoTo Msg:
End If
End With
Set DB = OpenDatabase(FileMDB)
Set CenterMassRigidity = DB.OpenRecordset("SELECT * FROM [Center Mass Rigidity]")
Set BuildingModes = DB.OpenRecordset("SELECT * FROM [Building Modes ]")
Set ModalParticipatingMassRatios = DB.OpenRecordset("SELECT * FROM [Modal Participating Mass Ratios]")
Set StoryData = DB.OpenRecordset("SELECT * FROM [Story Data]")
Set column1 = Sheets("Center Mass Rigidity").Cells(1, 1)
Set column2 = Sheets("Building Modes").Cells(1, 1)
Set column3 = Sheets("Modal Participating Mass Ratios").Cells(1, 1)
Set column4 = Sheets("Story Data").Cells(1, 1)
'copy fields Center Mass Rigidity file.mdb
Worksheets("Center Mass Rigidity").Activate
For i = 0 To CenterMassRigidity.Fields.Count - 1
column1.Offset(0, i).Value = CenterMassRigidity.Fields(i).Name
Next
column1.Offset(1, 0).CopyFromRecordset CenterMassRigidity
CenterMassRigidity.Close
'copy fields Building Modes file.mdb
Worksheets("Building Modes").Activate
For i = 0 To BuildingModes.Fields.Count - 1
column2.Offset(0, i).Value = BuildingModes.Fields(i).Name
Next
column2.Offset(1, 0).CopyFromRecordset BuildingModes
BuildingModes.Close
'copy fields Modal Participating Mass Ratios file.mdb
Worksheets("Modal Participating Mass Ratios").Activate
For i = 0 To ModalParticipatingMassRatios.Fields.Count - 1
column3.Offset(0, i).Value = ModalParticipatingMassRatios.Fields(i).Name
Next
column3.Offset(1, 0).CopyFromRecordset ModalParticipatingMassRatios
ModalParticipatingMassRatios.Close
'copy fields Story Data file.mdb
Worksheets("Story Data").Activate
For i = 0 To StoryData.Fields.Count - 1
column4.Offset(0, i).Value = StoryData.Fields(i).Name
Next
column4.Offset(1, 0).CopyFromRecordset StoryData
StoryData.Close
DB.Close
Msg:

Worksheets("DD").Activate
Range("N3").Select
Application.ScreenUpdating = True
End Sub


 
Upvote 0
Web KT
Back
Top Bottom