Private Sub cmdReadText_Click()
Dim CountRec As Long
Dim StrData As String
Dim iRow, i As Long
Dim iArr As Variant
Dim StrTemp As String
Dim Conn As ADODB.Connection
' ÁÒÍÕ¡áÅéǤÃѺ·èÒ¹ ... RS Promotion ... àÍÔê¡ææææ
Dim RS As ADODB.Recordset
Set Conn = New ADODB.Connection
Set RS = New ADODB.Recordset
' ÃٻẺ¡ÒÃàª×èÍÁµèÍáËÅè§¢éÍÁÙÅ (Data Source) ¢Í§ Text File
'
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & ";" & _
"Extended Properties=""text;HDR=NO;FMT=Delimited;"";"
' Áͧà¢éÒÁÒàËÁ×͹¡ÒÃÍèÒ¹µÒÃÒ§¢éÍÁÙÅ (Table ËÃ×Í Query) àŤÃѺ ... ¾Õè¹éͧ
RS.Open "SELECT * FROM [Jan-2008#txt]", Conn, adOpenStatic, _
adLockReadOnly, adCmdText
CountRec = RS.RecordCount
' ãªé§Ò¹Áѹà»ç¹·ÕèàÃÕºÃéÍÂáÅéÇ ¡ç»Ô´¡ÒÃàª×èÍÁµèÍÁѹ«èÐ
Set RS = Nothing: Set Conn = Nothing
' µÑ駤èÒãËé¡Ñº MS Flex Grid
With fgData
.Clear
' ¨Ó¹Ç¹ 4 ËÅÑ¡
.Cols = 4
' ¡Ó˹´¨Ó¹Ç¹á¶Ç (Rows) µÒÁ¨Ó¹Ç¹ÃÒ¡ÒâéÍÁÙÅ·ÕèÁÕÍÂÙè·Ñé§ËÁ´
' ãËéà¾ÔèÁ¨Ó¹Ç¹á¶Ç¢Öé¹ÍÕ¡ 1 à¹×èͧ¨Ò¡ÁÕ Column Header ÍÂÙèÍÕ¡ 1 á¶ÇáÅéÇ
.Rows = CountRec + 1
.ColWidth(0) = 1200
' ¡Ó˹´¤èÒãËé¡Ñºá¶Çáá ËÃ×Í Column Header
.TextMatrix(0, 0) = "ÅӴѺ·Õè"
.TextMatrix(0, 1) = "ÃËÑʾ¹Ñ¡§Ò¹"
.TextMatrix(0, 2) = "Çѹ·Õèà¢éÒ/ÍÍ¡"
.TextMatrix(0, 3) = "àÇÅÒà¢éÒ/ÍÍ¡"
End With
' à»Ô´¢éÍÁÙÅ Text File
Open App.Path & "\Jan-2008.txt" For Input As #1
iRow = 1 ' ãËéàÃÔèÁµé¹áÊ´§¼Å¢éÍÁÙŨҡá¶Ç·Õè 1 (á¶Çáá¹èФ×Í á¶Ç 0 ¹èФÃѺ ... ¾Õè¹éͧ)
Do While iRow <= CountRec
' ÍèÒ¹¢éÍÁÙÅà¢éÒÁÒ·ÕÅкÃ÷Ѵ
Line Input #1, StrData
' ãªé Trim à¾×è͵ѴªèͧÇèÒ§ (Space) ·Ñé§´éҹ˹éÒ áÅÐ ËÅѧ¢Í§ªØ´µÑÇÍÑ¡ÉÃÍÍ¡
StrTemp = Trim(StrData)
' ᡪشµÑÇÍÑ¡ÉÃÍÍ¡¨Ò¡¡Ñ¹´éǤÓÊÑè§ Split
' â´Âãªéà¤Ã×èͧËÁÒªèͧÇèÒ§ (Space) 㹡ÒèѺᡪشµÑÇÍÑ¡ÉÃ
iArr = Split(StrTemp, " ")
fgData.TextMatrix(iRow, 0) = iRow
fgData.TextMatrix(iRow, 1) = iArr(0)
fgData.TextMatrix(iRow, 2) = iArr(1)
fgData.TextMatrix(iRow, 3) = iArr(2)
iRow = iRow + 1
Loop
' »Ô´ Text File
Close #1
End Sub
|