Trong bảng [Frame Section Assignments] làm gì có trường B và H hả bạn, hay là nó được tạo mối quan hệ đến bản nào?Em nhờ các anh, chị trên GPE viết giúp em code vba để lấy nội lực từ file Access dán vào file Excel!!
Các câu hỏi của em ở file đính kèm, mong các anh chị giúp đỡ em
xin chân thành cảm ơn nhiều!!!
Dùng thử ADO nhé, cái này hình như tôi có thấy là anh HLMT làm cho bạn rồi = phương pháp khác, trường H và B được tách số ra từ trường DesignSectDạ cột B và H các anh không cần phải quan tâm, nó chỉ để làm mẩu thôi ạ!!
nhờ các anh giúp giùm em cái phần chính nhe!!
thanks các anh nhiều!!!
Private Sub CommandButton1_Click()
Dim cnn As Object, lrs As Object, mySQL As String, strFile As Variant
Set cnn = CreateObject("ADODB.Connection")
Set lrs = CreateObject("ADODB.Recordset")
strFile = Application.GetOpenFilename()
If strFile <> False Then
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strFile
mySQL = "SELECT Frame, Station, OutputCase, P, V2, V3, M2, M3 " & _
"FROM [Element Forces - Frames]"
lrs.Open mySQL, cnn, 3, 1
With Sheet1
.[A4:H65000].ClearContents
.[A4].CopyFromRecordset lrs
End With
lrs.Close
mySQL = "SELECT Frame, DesignSect, val(MID(DesignSect,2,2)) , val(right(DesignSect,2)) " & _
"FROM [Frame Section Assignments]"
lrs.Open mySQL, cnn, 3, 1
With Sheet1
.[K4:N65000].ClearContents
.[K4].CopyFromRecordset lrs
End With
lrs.Close
End If
Set lrs = Nothing
cnn.Close: Set cnn = Nothing
End Sub
Dữ liệu của bạn bao nhiêu thì nó lấy hết bấy nhiêu rồi mà. Lấy theo các cột bạn yêu cầu rồi còn gì.Anh Chàng Ngốc ơi!!!
tại sao nó chỉ xuất ra 2 tiết diện tính dầu vào cuối z?sao mình ko lấy hết tiết diện của phần tử luôn?? "tại cột Station"
sao tên 2 phần tử cột và dầm xuất hiện z,chỉ lấy phần tử dầm or cột ko được hok??
mong Anh Chàng Ngốc và các bạn gíup đỡ!!!!
Thì bạn thêm Where vào là được.thank nhiều nha!!!
nhưng còn tên 2 phần tử cột và dầm xuất hiện z,chỉ lấy phần tử dầm or cột ko được hok??
Z nếu mình chỉ lấy nội lực dầm của file Access thì kết quả chỉ cho số liệu của phần tử dầm thôi còn phần tử cột thì ko lấy được ko bạn!!hi
Private Sub CommandButton1_Click()
Dim cnn As Object, lrs As Object, mySQL As String, strFile As Variant
Set cnn = CreateObject("ADODB.Connection")
Set lrs = CreateObject("ADODB.Recordset")
strFile = Application.GetOpenFilename()
If strFile <> False Then
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strFile
mySQL = "SELECT Frame, Station, OutputCase, P, V2, V3, M2, M3 " & _
"FROM [Element Forces - Frames] " & _
[COLOR=#ff0000][B] "Where left(Frame,1) like 'C'"[/B][/COLOR]
lrs.Open mySQL, cnn, 3, 1
With Sheet1
.[A4:H65000].ClearContents
.[A4].CopyFromRecordset lrs
End With
lrs.Close
mySQL = "SELECT Frame, DesignSect, val(MID(DesignSect,2,2)) , val(right(DesignSect,2)) " & _
"FROM [Frame Section Assignments] " & _
[B][COLOR=#ff0000] "Where left(Frame,1) like 'C'"[/COLOR][/B]
lrs.Open mySQL, cnn, 3, 1
With Sheet1
.[K4:N65000].ClearContents
.[K4].CopyFromRecordset lrs
End With
lrs.Close
End If
Set lrs = Nothing
cnn.Close: Set cnn = Nothing
End Sub
Theo đoạn code trên thì khi dòng Application.GetOpenFileName() được kích hoạt thì nó sẽ yêu cầu chọn file. Và khi chọn file thì biến strFile sẽ mang giá trị khác False, khi đó sẽ tiến hành mở ADO.cho em hỏi trên đọn code trên thì
If strFile <> False Then cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & strFile
có ý nghĩ gì vậy mấy anh?
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2