![]() |
|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
![]() |
#4 (permalink) |
註冊會員
|
![]() 這張圖只是查詢畫面時:圖下方是access 開啟資料表中共有5筆, 圖上方是 vb6 用datagrid卻只有顯示出前4筆. 我以前沒遇到這情形, (以前 clipper語言中, 有一個指令 commit 就是專門將最後一筆 buffer強迫寫入 , vb6 中倒沒這種指令.)
所以覺得很奇怪. ![]() ---源碼貼出如下 (很單純的查詢所寄出的 e-mail電子報 ) 如下------------------------ (grdEDM 就是DATAGRID的控制項 ) (DTPicker(0) DTPicker(1) 就是查詢日期 開始和結束) (資料表EDM 中 有一欄位 UseTime 是文字型態 放比對的日期) (下方quote 源碼內容 奇怪會變成沒縮排 有點難以閱讀 , 不知道如何貼源碼才會變成有縮排 ) 語法:
'查詢 Private Sub cmd_Search_Click() On Error Resume Next Dim strSDate As String, strEDate As String, dateTemp As Date Dim strRet As String Dim varRet() As String Dim varData() As String Dim intType As Integer Dim strMsg As String Dim strStatus As String Dim i As Long, j As Long Me.MousePointer = 11 cmd_Search.Enabled = False ReDim aryEID(0) If Opt1(0).Value = True Then '24小時內 strSDate = Format(DateAdd("d", -1, Now), "yyyy/mm/dd hh:mm") strEDate = Format(Now, "yyyy/mm/dd hh:mm") ElseIf Opt1(1).Value = True Then '48小時內 strSDate = Format(DateAdd("d", -2, Now), "yyyy/mm/dd hh:mm") strEDate = Format(Now, "yyyy/mm/dd hh:mm") ElseIf Opt1(2).Value = True Then '72小時內 strSDate = Format(DateAdd("d", -3, Now), "yyyy/mm/dd hh:mm") strEDate = Format(Now, "yyyy/mm/dd hh:mm") ElseIf Opt1(3).Value = True Then '一週內 strSDate = Format(DateAdd("d", -7, Now), "yyyy/mm/dd hh:mm") strEDate = Format(Now, "yyyy/mm/dd hh:mm") ElseIf Opt1(4).Value = True Then '查詢區間 If DTPicker(0) > DTPicker(1) Then '日期對調 dateTemp = DTPicker(0) DTPicker(0) = DTPicker(1) DTPicker(1) = dateTemp End If strSDate = Format(DTPicker(0), "yyyy/mm/dd hh:mm") '注意==> 一定要加Format 變更格式"yyyy/mm/dd hh:mm" 否則查不出資料 strEDate = Format(DTPicker(1), "yyyy/mm/dd hh:mm") End If If strSDate = "//" Then strSDate = "" If strEDate = "//" Then strEDate = "" If strSDate = "" And strEDate = "" Then MsgBox "請輸入查詢區間!", vbExclamation Me.MousePointer = 0 cmd_Search.Enabled = True Exit Sub End If txt_Msg.Text = "" If SSTab1.Tab = 0 Then intType = 0 If SSTab1.Tab = 1 Then intType = 1 grd.Visible = False grdEDM.Visible = False grd_List.Visible = False Select Case intType Case 0 '簡訊-資料在SERVER端 ->下載後放入Temp_EDM Case 1 '電子報 -資料在本機OnlyYou.mdb 中的 EDM 'MsgBox strSDate & vbCrLf & strEDate SQL = "Select * From EDM Where UserID = '" & UserID & "' And EdmID = 0 " If strSDate <> "" Then SQL = SQL & "And UseTime >= '" & strSDate & " 00:00:00' " If strEDate <> "" Then SQL = SQL & "And UseTime <= '" & strEDate & " 23:59:59' " SQL = SQL & "Order By SID Desc" Debug.Print SQL Set Rs = objSQL.SelecRs(SQL, ErrNum, ErrDescription) If Not Rs.EOF Then Set grdEDM.DataSource = Rs grdEDM.Refresh grdEDM.Refresh grdEDM.Visible = True Rs.MoveFirst Else MsgBox "無符合條件的資料 !" End If 'Rs.Close '注意==>不可以CLOSE 否則畫面無法顯示資料 End Select cmd_Search.Enabled = True Me.MousePointer = 0 tmpEID = 0 End Sub 此帖於 2008-05-21 08:03 PM 被 mini 編輯. 原因: 縮排 請用 [code] |
![]() |
送花文章: 185,
![]() |