ËÒ¡ÁÕ¤Ó¶ÒÁ ¢ÍãËéä»â¾Êµìŧ àÇ纺ÍÃì´¨Õ·Ù¨Õà¹çµ´Íµ¤ÍÁ µÑÇãËÁèá·¹¹èФÃѺ

ËÃ×͵ԴµèÍà¢éÒÁÒ·Ò§ Inbox ·Õè à¿«ºØê¤ ¼Á¤ÃѺ

˹éÒËÅÑ¡
¢èÒÇÊÒà - º·¤ÇÒÁ ·Ñé§ËÁ´
VB 6/VB.Net
ASP/ASP.Net
¨Ñº©èÒ¤ÍÁ¾ÔÇàµÍÃì
àÃÕ¹ÃÙé¼èÒ¹ Flash Movie
º·¤ÇÒÁ·ÕèÁÕ¼ÙéµÍºÅèÒÊØ´  
 RSS Feeds
 ´ÒǹìâËÅ´â»Ãá¡ÃÁ RSS Reader ä´é·Õè¹Õè ...   Download â»Ãá¡ÃÁ RSS Reader

Forum - www.g2gnet.com
Webmaster - www.g2gnet.com
Visitors - Session views
 5 6 1 6 1 5 4

7 ¸Ñ¹ÇÒ¤Á ¾.È.2549
109 Users On-Line.
Visitors - Page views
 8 9 7 3 8 9 7
1 ¡ØÁÀҾѹ¸ì ¾.È.2551

Google   
àÇçº g2gnet.com
¢¹Ò´µÑÇÍÑ¡ÉÃ:  

Visual Basic 6.0 ¡Ñº¡Ò÷ÓÃÒ§ҹ´éÇ Active Report µÍ¹·Õè 2

Category »  VB 6/VB.Net
â´Â : Webmaster àÁ×èÍ 12/2/2551 12:00:00
(ÍèÒ¹ : 37936) 
º·¤ÇÒÁÊÓËÃѺµÍ¹¹Õé ¼Á¨ÐÁÒ¹ÓàʹÍá¹Ç·Ò§ áÅÐ ¡ÅÇÔ¸Õ ã¹¡ÒäǺ¤ØÁ¡ÒÃáÊ´§¼Å¢Í§ÃÒ§ҹ â´Âãªéâ¤é´¨ÃÔ§æ äÁèãªéµÑÇ»ÃСͺ ËÃ×Í µÑÇáÊ´§á·¹áµèÍÂèÒ§ã´ ... àÍÔê¡ææææ ... ¡Ò÷ÓÃÒ§ҹ·ÕèÁÕÃٻẺ·Õè¤ÅéÒ¤ÅÖ§¡Ñ¹¹Ñé¹ àÃÒäÁè¨Óà»ç¹µéͧÁÒ¹Ñè§Í͡Ẻ¨Ò¡ Designer á¡à»ç¹ä¿Åìæä»¹èФÃѺ áµèàÃÒÊÒÁÒö¡Ó˹´µÒÁ¤ÇÒÁµéͧ¡Òà (¢Í§àÃÒ ËÃ×Í ¼ÙéÇèÒ¨éÒ§) â´Â¡ÒÃÊÑè§â»Ãá¡ÃÁãËé·Ó§Ò¹ã¹ÅѡɳТͧ Run-Time ¹Ñ蹤×Í ¨ÐÁͧàËç¹¼ÅÅѾ¸ì¡çµèÍàÁ×èÍÊÑè§Ãѹâ»Ãá¡ÃÁáÅéÇà·èÒ¹Ñé¹ äÍé»ÃÐàÀ·ÁÒ¼Ù¡¤Í¹â·ÃŵԴµÒµÑǡѺ¿ÔÅ´ì¢Í§°Ò¹¢éÍÁÙŹÑé¹ (Design Time) â»Ãá¡ÃÁ¢Í§àÃÒ¡ç¨Ð¢Ò´¤ÇÒÁÂ×´ËÂØè¹ä»àÂÍÐàÅ·Õà´ÕÂÇ º·¤ÇÒÁ¹Õé¼ÁàÅÂÃǺÂÍ´ËÅÒÂÊÔè§ËÅÒÂÍÂèÒ§à¢éÒÁÒ¹ÓàʹÍäÇéãËé¡Ñº§Ò¹¹Õéä»àÅ áµè»ÃÐà´ç¹ËÅÑ¡æ ¡ç¤×Í ã¹àÃ×èͧ¢Í§¡ÒèѴ¡ÅØèÁ (Group) à¾×èÍá¡ÃÒ§ҹÍÍ¡à»ç¹ËÁÇ´ËÁÙèä´é â´Â¡ÒÃãªé Designer à¾Õ§µÑÇà´ÕÂÇ Íѹà´ÕÂÇ ËÃ×Í ä¿Åìà´ÕÂÇ ... áÅй͡¨Ò¡áÅéǹÕé ¾Õè¹éͧ¡ç¨Ðä´éãËéàËç¹¶Ö§¡ÒäӹdzËÒ¤èÒ·Ò§¤³ÔµÈÒʵÃì â´ÂäÁèµéͧÁÒãªéÊٵà (ËÃ×ÍãÊè»Õ¡¡Ò ¨¹Ë¹éÒ¹ÔèǤÔéÇ¢ÁÇ´ ·ÓãËéÃ͵չ¡Ò¢Öé¹Ë¹éÒâ´ÂÍѵâ¹ÁÑµÔ ... 55555) áµèÍÒÈÑ¡ÒáÓ˹´¤èÒŧ㹵ÑÇá»Ãá·¹ ... á¹è¹Í¹¤ÃѺ·Õè¼ÁÇèÒÁÒ¹Õé àÃÒãªé¡ÒÃâ¤é´µÒÁẺÊäµÅì¢Í§ Visual Basic Åéǹæ ... áÅÐÁÒ¶Ö§ ³ µÃ§¹Õé ¼ÁºÍ¡ä´éàÅÂÇèҤسÊÒÁÒö¹ÓÁѹ任ÃÐÂØ¡µìãªé§Ò¹à¾×è;ÔÁ¾ìãºàʹÍÃÒ¤Ò ËÃ×Í ãºÃÒ¡Òë×éÍ¢ÒÂä´éÍÂèÒ§äÁèÂÒ¡àÂç¹àŤÃѺ ... ¾Õè¹éͧ

Êèǹà¾ÔèÁàµÔÁ㹵͹¹Õé ¤×Í ¡ÒÃ¹Ó ComboBox ÁÒà»ç¹à§×è͹ä¢ã¹¡ÒÃàÅ×Í¡§Ò¹¾ÔÁ¾ì


¨Ò¡ Designer ãËé¤ÅÔê¡àÁÒÊì¢ÇÒ ¨Ò¡¹Ñ鹡çãËéàÅ×Í¡ Insert Group Header à¢éÒÁÒ


»ÃÒ¡¯ GroupHeader áÅÐ GroupFooter à¢éÒÁÒà»ç¹¢Í§¤Ùè¡Ñ¹àÊÁÍ
¨Ò¡µÍ¹·Õè 1 ¾Õè¹éͧµéͧÂéÒÂÊèǹËÑǢͧÃÒ§ҹà¢éÒÁÒäÇé·Õè GroupHeader ´éÇÂ
áÅÐà¾ÔèÁÅÒàºÅ lblGroupData à¢éÒÁÒ à¾×èÍá¨é§ãËé¼Ùéãªé§Ò¹ä´éÃÙéÇèÒà»ç¹ÃÒ§ҹẺã´ÍÂÙè


Êèǹ¢Í§ GroupFooter à¾ÔèÁ TextBox (txtSumSalary) à¾×èÍ·Õè¨Ð·Ó¡ÒÃÃÇÁ¨Ó¹Ç¹à§Ô¹à´×͹¾¹Ñ¡§Ò¹


ÃÒ§ҹÃÒª×è;¹Ñ¡§Ò¹·Ñé§ËÁ´


ᡵÒÁá¼¹¡ - DepartmentName


ᡵÒÁµÓáË¹è§ - PositionName

´ÒǹìâËÅ´ Source Code ÊÓËÃѺ MS Visual Basic 6.0 - Service Pack 6
 ´ÒǹìâËÅ´ Visual Basic 6.0 SP5: Run-Time Redistribution Pack
 ´ÒǹìâËÅ´ Microsoft Data Access Object (MDAC) áÅÐ Jet 4.0 Update

Êèǹ¢Í§ frmPrintEmployee

Private Sub Form_Load()
On Error GoTo ErrorHandler
    Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2
    ' àª×èÍÁµèͰҹ¢éÍÁÙÅ
    Call OpenDataBase
    
    ' ¼Áãªé ComboBox ÁÒà»ç¹à§×è͹ä¢ã¹¡ÒþÔÁ¾ìÃÒ§ҹ
    cmbPrint.Clear
    cmbPrint.AddItem " ¾ÔÁ¾ìÃÒª×è;¹Ñ¡§Ò¹·Ñé§ËÁ´"
    cmbPrint.AddItem " ¾ÔÁ¾ìÃÒ§ҹµÒÁá¼¹¡"
    cmbPrint.AddItem " ¾ÔÁ¾ìÃÒ§ҹµÒÁµÓá˹è§"
    cmbPrint.ListIndex = 0

ExitProc:
    Exit Sub
    
ErrorHandler:
    MsgBox "Error : " & Err.Number & vbCrLf & Err.Description, vbOKOnly + vbExclamation, "ÃÒ§ҹ¤ÇÒÁ¼Ô´¾ÅÒ´"
    Resume ExitProc
End Sub

Private Sub cmdPreview_Click()
    Set RS = New ADODB.Recordset
    ' ¼Á¡µÑÇÍÂèÒ§¢Í§¡ÒÃàª×èÍÁ¤ÇÒÁÊÑÁ¾Ñ¹¸ìẺ§èÒÂæãËé¾Õè¹éͧä´éÃѺªÁ¡Ñ¹¹èФÃѺ
    ' Íѹ·Õè¨ÃÔ§ÍÂèÒ§¼ÅÃÇÁ¢Í§à§Ô¹à´×͹ àÃÒ¡çÊÒÁÒöãªé¡ÒÃ·Ó Group à¾×èÍËÒ¤èÒ Sum á·¹¡çä´é
    ' ¡çÅͧä»ÊÃÃËÒäÍà´ÕÂãÊèàÍÒàͧÅèСѹ
    Statement = "SELECT tblEmployee.EmployeePK, tblEmployee.EmployeeID, " & _
                            " tblEmployee.EmployeeName, tblEmployee.DateStart, " & _
                            " tblPosition.PositionName, tblDepartment.DepartmentName, " & _
                            " tblEmployee.Salary " & _
                            " FROM (tblPosition INNER JOIN tblEmployee ON tblPosition.PositionPK = " & _
                            " tblEmployee.PositionFK) INNER JOIN " & _
                            " tblDepartment ON tblEmployee.DepartmentFK = tblDepartment.DepartmentPK "
                            
    ' ¾Õè¹éͧ¤ÃѺ ... ¡ÒÃ·Ó¡ÅØèÁ ¡Ñº ¡ÒÃãªé ORDER ÁѹÁÕ¤ÇÒÁÊÑÁ¾Ñ¹¸ì¡Ñ¹¹èФÃѺ
    ' ËÅÒµèÍËÅÒ¤¹¡çÁÑ¡¨Ð¾ÅÒ´ÍÐäçèÒÂæáºº¹Õéä´éàÊÁÍ ... äÁèàª×èͼÁ¡çÅͧ·´Êͺ´Ùä´éàÅÂÇèÒ
    ' ËÒ¡¤Ø³·Ó ORDER äÁèµÃ§¡Ñº¡ÅØèÁ·Õèµéͧ¡Òà ¼ÅÅѾ¸ì¨Ðà¡Ô´ÍÐäâÖé¹ÁÒºéÒ§
    Select Case cmbPrint.ListIndex
        ' áÊ´§¢éÍÁÙž¹Ñ¡§Ò¹·Ñé§ËÁ´
        Case 0
            Statement = Statement & " ORDER BY EmployeeID "
        ' áÊ´§ÃÒ§ҹµÒÁµÓá˹è§
        Case 1
            Statement = Statement & " ORDER BY DepartmentName, EmployeeID "
        ' áÊ´§ÃÒ§ҹµÒÁá¼¹¡
        Case 2
            Statement = Statement & " ORDER BY PositionName, EmployeeID "
    End Select
    
    RS.Open Statement, ConnDB, adOpenForwardOnly, adLockReadOnly, adCmdText
    
    ' ÊèǹÊӤѭ㹡Ò÷ÓÃÒ§ҹ´éÇ Active Report
    ' µÑ駤èÒ ËÃ×Í ¡Òü١ÃÒ§ҹà¢éҡѺ Object
    Set rptPrint = New arEmployeeListGroup   ' ÁÒ¨Ò¡ª×èÍä¿ÅìÃÒ§ҹ (Designer)
    
    ' ARViewEmployeeList µÑǹÕé¤×Í Control ·ÕèÇÒ§äÇéÍÂÙ躹¿ÍÃìÁ frmPrintEmployee
    Set Me.ARViewEmployeeList.object = rptPrint
    
    ' ¼Ù¡°Ò¹¢éÍÁÙÅ (Bound Control) Ẻ Run Time à¢éҡѺ Object
    ' dcRptData µÑǹÕéÁѹä»ÍÂÙè·ÕèẺ¿ÍÃìÁ¡ÒÃáÊ´§¼Å¢Í§ ActiveReport ¹èФÃѺ
    Set rptPrint.dcRptData.Recordset = RS
End Sub
Êèǹ¢Í§ Report Designer - arEmployeeListGroup

Option Explicit

Private bLastPage As Boolean
' »ÃСÒȵÑÇá»Ã i ãËÁè à»ÅÕè¹ÁÒà»ç¹áºº Public ÊÓËÃѺÃÒ§ҹ¹Õé
' ËÁÒ¤ÇÒÁÇèÒã¹·Ø¡æâ»Ãá¡ÃÁÂèÍ¢ͧÃÒ§ҹ¹Õéà·èÒ¹Ñé¹ ¨ÐÁͧàËç¹µÑÇá»Ã·Õè¼Á»ÃСÒÈäÇéº¹ÊØ´
' ÃÒ§ҹÍ×è¹¹èÐÁѹÁͧäÁèàËç¹ËÃÍ¡¤ÃѺ ... ¾Õè¹éͧ
Private i As Integer
Private SumSalary As Double
' àËÍææææ §§¡Ñ¹ÅèÐ«Ô ÎèÇ ... »ÃСÒȵÑÇá»Ãà»ç¹áºº Private ´Ñ¹ÁҺ͡à»ç¹ Public

' Êèǹ¹Õéà»ç¹Êèǹ¢Í§¡ÒÃÍèÒ¹¢éÍÁÙÅà¢éÒÁÒ·ÕÅÐÃÒ¡ÒÃ
' ¹Í¡¨Ò¡¹Õé GroupHeader1.GroupValue ¹ÕèáËÅÐ ¤×Í ¡ÒèѴ¡ÅØèÁÃÒ§ҹ
Private Sub ActiveReport_FetchData(eof As Boolean)
    ' ËÒ¡ËÁ´¢éÍÁÙÅ bLastPage ¨ÐÁÕ¤èÒà»ç¹¨ÃÔ§
    bLastPage = dcRptData.Recordset.eof
    
    If Not eof Then
        ' à¾ÔèÁ¨Ó¹Ç¹¡ÒùѺ¢Í§ÅӴѺ·Õè
        i = i + 1
        Select Case frmPrintEmployee.cmbPrint.ListIndex
            Case 0  ' áÊ´§ÃÒ¡Ò÷Ñé§ËÁ´
            Case 1  ' ᡵÒÁá¼¹¡
                GroupHeader1.GroupValue = dcRptData.Recordset("DepartmentName")
            Case 2  ' ᡵÒÁµÓá˹è§
                GroupHeader1.GroupValue = dcRptData.Recordset("PositionName")
        End Select
    End If
End Sub

' Êèǹ¢Í§¡ÒÃ·Ó¡ÅØèÁ¢éÍÁÙÅ ·Ó¡ÒÃá¨é§¼ÙéãªéÇèÒäÍé¹ÕèÁѹ¤×ÍÃÒ§ҹÍÐäà ??????
Private Sub GroupHeader1_Format()
    Select Case frmPrintEmployee.cmbPrint.ListIndex
        Case 0  ' áÊ´§ÃÒ¡Ò÷Ñé§ËÁ´
            lblGroupData.Caption = "ÃÒ§ҹÃÒª×è;¹Ñ¡§Ò¹·Ñé§ËÁ´:"
            lblDepartment.Alignment = ddTXLeft
            lblDepartment.Caption = "á¼¹¡"
        Case 1  ' ᡵÒÁá¼¹¡
            lblGroupData.Caption = "á¼¹¡: " & dcRptData.Recordset("DepartmentName")
            ' ãªé§Ò¹ Control ãË館éÁ¤èÒ â´Â¡ÒáÓ˹´ã¹¢³Ð Run-Time
            lblDepartment.Alignment = ddTXRight
            lblDepartment.Caption = "à§Ô¹à´×͹"
        Case 2  ' ᡵÒÁµÓá˹è§
            lblGroupData.Caption = "µÓá˹è§: " & dcRptData.Recordset("PositionName")
            ' ãªé§Ò¹ Control ãË館éÁ¤èÒ â´Â¡ÒáÓ˹´ã¹¢³Ð Run-Time
            lblPosition.Caption = "á¼¹¡"
            lblPosition.Alignment = ddTXLeft
            lblDepartment.Caption = "à§Ô¹à´×͹"
            txtDepartment.Alignment = ddTXRight
    End Select
End Sub

' ÃÒÂÅÐàÍÕ´µèÒ§æ¡ç¨Ð¹ÓÁÒáÊ´§ã¹ Detail ÍÂÙèáÅéÇ
Private Sub Detail_Format()
    ' ¤ÃÒǹÕé¤èÒ i ¨Ðà¾ÔèÁ¤èÒ¡çÍÂÙè·Õè Group á·¹
    txtItem.Text = i & "."
    
    txtEmployeeID.Text = "" & Trim(dcRptData.Recordset("EmployeeID"))
    txtName.Text = "" & Trim(dcRptData.Recordset("EmployeeName"))
    txtPosition.Text = "" & Trim(dcRptData.Recordset("PositionName"))
    ' µÃǨÊͺà§×è͹䢢ͧ¡ÒþÔÁ¾ì
    Select Case frmPrintEmployee.cmbPrint.ListIndex
        Case 0
            ' ¾ÔÁ¾ìÃÒ§ҹÍÍ¡»¡µÔ
            txtDepartment.Text = "" & Trim(dcRptData.Recordset("DepartmentName"))
        Case 1
            ' àÍÒª×èÍá¼¹¡ä»äÇéÊèǹËÑÇÃÒ§ҹ (GroupHeader) ´Ñ§¹Ñé¹¼Á¡çàÅÂàÍÒà§Ô¹à´×͹
            ' ÁÒÂÑ´ãÊèäÇéã¹ÃÒª×èÍá¼¹¡á·¹ ... (ãªé§Ò¹ Control ãË館éÁ¤èÒ)
            txtDepartment.Text = Format(Trim(dcRptData.Recordset("Salary")), "#,##0.00")
            txtDepartment.Alignment = ddTXRight
        Case 2
            ' Êèǹ¹Õé¼Á¡ç¹Óª×èÍá¼¹¡ÁÒãÊèäÇéµÃ§µÓá˹觫èÐ Êèǹà§Ô¹à´×͹¡çä»ãÊèäÇéã¹á¼¹¡á·¹ ... ÍÔÍÔÍÔÍÔÍÔ
            txtPosition.Text = "" & Trim(dcRptData.Recordset("DepartmentName"))
            txtDepartment.Text = Format(Trim(dcRptData.Recordset("Salary")), "#,##0.00")
    End Select
    
    txtDateStart.Text = FormatDateTime(dcRptData.Recordset("DateStart"), vbShortDate)
    
    ' ¼Á¶Ö§ä´éºÍ¡ÇèÒ¹ÕèáËÅТéʹբͧ Active Report à¾ÃÒÐâ¤é´Áѹà¹Õ¹æ¨Ò¡ VB à´êÐæææææ
    ' ·ÓãËéäÁèä»ÊѺʹ ËÃ×Í ¨´¨Ó ÊÔè§Í×è¹ã´ ... à¾ÔèÁàµÔÁ
    ' äÁèµéͧãªéÊٵà áµèÍÒÈѵÑÇá»Ã㹡ÒÃà¡çº¤èÒá·¹
    SumSalary = SumSalary + dcRptData.Recordset("Salary")
    ' ¤èÒ¹Õé¨Ð¹Óä»áÊ´§µÍ¹·éÒÂÃÒ§ҹ ËÃ×Í GroupFooter ¤ÃѺ¾Õè¹éͧ
    ' ÊÁÁصÔÇèÒá¼¹¡¹ÕéÁÕ¾¹Ñ¡§Ò¹ 10 ¤¹ ÃÒ§ҹ (Detail) ã¹Êèǹ¹Õé¡ç¨Ð Loop ä»·Õè
    ' ActiveReport_FetchData(eof As Boolean) 10 Ãͺ à¾×èÍ·Ó¡ÒÃáÊ´§¼ÅÃÒ§ҹ
    ' «Öè§ã¹áµèÅÐÃͺ¡ç¨Ð·Ó¡Òúǡ¨Ó¹Ç¹à§Ô¹à´×͹¢Í§¾¹Ñ¡§Ò¹áµèÅФ¹äÇéã¹ SumSalary
End Sub

Private Sub GroupFooter1_Format()
    ' ¡Ã³Õ·ÕèãËé¾ÔÁ¾ìÃÒª×è;¹Ñ¡§Ò¹ÍÍ¡ÁÒ·Ñé§ËÁ´ ´Ñ§¹Ñé¹ ...
    ' ¼Á¨ÐäÁèáÊ´§¨Ó¹Ç¹à§Ô¹à´×͹ÍÍ¡ÁÒ ¡ç§èÒÂæá¤è¡Ó˹´¤ÇÒÁÊÙ§¢Í§Êèǹ¹Õéà»ç¹ 0
    ' âË ... ¤Ô´ä´éä§à¹Õè 55555
    If frmPrintEmployee.cmbPrint.ListIndex = 0 Then GroupFooter1.Height = 0
    
    ' ¡Ã³ÕàÅ×Í¡¡Ò÷ÓÃÒ§ҹµÒÁá¼¹¡ ËÃ×Í µÓáË¹è§ ¤ÇÒÁÊÙ§¨ÐÁÕ¤èÒ»¡µÔ à·èҡѺµÍ¹ Design
    ' ¼ÅÃÇÁ¢Í§à§Ô¹à´×͹¡ç¨Ð»ÃÒ¡¯ÍÍ¡ÁÒ â´Â ...
    ' ¹Ó¤èÒ·Õèä´é¨Ò¡¡Òúǡ (Sum) ã¹ Detail ÁÒáÊ´§¼ÅµÍ¹·éÒÂÃÒ§ҹ (GroupFooter)
    txtSumSalary.Text = "ÃÇÁ¨Ó¹Ç¹à§Ô¹à´×͹: " & Format(SumSalary, "#,##0.00")
    ' Íѹ¹Õé¨ÐÇèÒä»áÅéÇ¡çä»ãªé SQL Statement ã¹àÃ×èͧ¢Í§ Group á·¹¡çä´éà¹éÍ ... ¾Õè¹éͧ
    
    ' ¡Ã³Õ·Õèà»ç¹ Group
    ' àÁ×è;ÔÁ¾ì¼ÅÅѾ¸ìã¹áµèÅÐ¡ÅØèÁàÃÕºÃéÍÂáÅéÇ ¡ç·Ó¡ÒÃà¤ÅÕÂÃì¤èÒãËÁè
    i = 1:  SumSalary = 0
End Sub
Conclusion:
͹Öè§ ... ¾Õè¹éͧ·Ñé§ËÅÒ¤ÃѺ ... ÅӾѧá¤èà¾Õ§áµèä´éâ¤é´¨ÃÔ§æ¢Í§¼Á仹͹¡Í´àÅè¹æãËéÍºÍØè¹áÅéÇ ÁѹäÁèä´éªèÇ·ÓãËé¾Õè¹éͧÊÒÁÒö¾Ñ²¹Ò·Ñ¡ÉÐä´é´Õ¢Öé¹ËÃÍ¡¤ÃѺ ËÒ¡äÁè¾Ô¹Ô¨ ¾Ô¨ÒóÒäÅèàÃÕ§¡Ò÷ӧҹ áÅÐ ·Ó¤ÇÒÁà¢éÒã¨ÍÂèÒ§¶èͧá·éáÅéÇ (ãªé Trace ËÃ×Í Step Into ´éÇ¡Òá´ F8 ´Ù¤ÃѺ) Åͧ¤Ô´¨Ô¹µ¹Ò¡Òô٫ԤÃѺÇèÒ¨ÐÅͧ任ÃѺ»ÃÐÂØ¡µìãªé§Ò¹ä´éÍÂèÒ§äúéÒ§ àÍÒà»ç¹ÇèÒËÒ¡¤Ô´äÁèÍÍ¡ ¡çÅͧàÍÒ⨷Âì令ԴàÅè¹æ´Ù¤ÃѺ ... Åͧ·Ó Query ÃÒ¡ÒÃá¼¹¡ (Department) ãÊèà¢éÒä»ã¹ ComboBox à¾×èÍãËéÁѹàÅ×Í¡¾ÔÁ¾ìÃÒ¡ÒÃá¡ÍÍ¡ÁÒà»ç¹áµèÅÐá¼¹¡´Ù«Ô¤ÃѺ ... àÍéÒ !!! àÃçÇææææ ... ã¤Ã¨Ð·Óä´é¡è͹¡Ñ¹
¨Õ ·Ù ¨Õ à¹çµ ´Íµ ¤ÍÁ - g2gNet Dot Com
àÅ¢·ÐàºÕ¹¾Ò³ÔªÂìÍÔàÅç¡·Ã͹ԡÊì 0407314800231
CopyLeft © 2004 - 2099 g2gNet.Com All rights reserved.
Email: [email protected] ËÃ×Í â·Ã. 08-6862-6560