Dear VB Programmer,
Saya mempunya 2 field tanggal yaitu tanggal mulai (tgl_so) dan tanggal selesai
(tgl_due).
Jika tgl_due melewati tanggal sekarang (now), bagaimana caranya supaya
data/record yang ditampilkan pada
msflexgrid akan nge-blink atao berwarna merah.
Pertanyaan saya bagaimana caranya menapilkan record seperti itu dalam
msflexgrid.(supaya berkedip-kedip dan berwarna merah )
berikut saya kirimkan attachment untuk dikoreksi.
Private Sub Form_Load()
dtp1.Value = Date
dtp2.Value = Date
Call TengahForm(Me, True)
End Sub
Private Sub setHeaderCol(ByVal flex As MSFlexGrid, ByVal warnaCellHeader As
Long, ByVal warnaFontHeader As Long)
Dim i As Byte
With flex
.Row = 0
For i = 0 To flex.Cols - 1
.Col = i
.CellBackColor = warnaCellHeader
.CellForeColor = warnaFontHeader
Next
End With
End Sub
Sub headergrid()
MSFlexGrid1.Cols = 10
MSFlexGrid1.Row = 0
MSFlexGrid1.ColWidth(0) = 500
MSFlexGrid1.Col = 1
MSFlexGrid1.Text = " DATE"
MSFlexGrid1.ColWidth(1) = 1000
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
Call setHeaderCol(MSFlexGrid1, vbBlue, vbWhite)
MSFlexGrid1.Col = 2
MSFlexGrid1.Text = "TIME"
MSFlexGrid1.ColWidth(2) = 1100
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
MSFlexGrid1.Col = 3
MSFlexGrid1.ColWidth(3) = 1000
MSFlexGrid1.Text = "DUE DATE"
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
MSFlexGrid1.Col = 4
MSFlexGrid1.ColWidth(4) = 1100
MSFlexGrid1.Text = "MO NO"
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
MSFlexGrid1.Col = 5
MSFlexGrid1.ColWidth(5) = 800
MSFlexGrid1.Text = "USER "
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
MSFlexGrid1.Col = 6
MSFlexGrid1.ColWidth(6) = 600
MSFlexGrid1.Text = "DEPT"
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
MSFlexGrid1.Col = 7
MSFlexGrid1.ColWidth(7) = 800
MSFlexGrid1.Text = "STATUS "
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
MSFlexGrid1.Col = 8
MSFlexGrid1.ColWidth(8) = 1400
MSFlexGrid1.Text = "LOCATION "
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
MSFlexGrid1.Col = 9
MSFlexGrid1.ColWidth(9) = 4500
MSFlexGrid1.Text = "REASON "
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
End Sub
Sub tampilgrid()
Dim i, J As Integer
Dim rs As New ADODB.Recordset
'rs.Open "select kd_article, nm_article, category, sise, price, stock, ket from
t_article ", oConn
rs.Open " SELECT dbo.Trans1.tgl_So, dbo.Trans1.jam_trs,dbo.Trans1.tgl_due,
dbo.Trans1.no_Mo, dbo.Trans1.kd_User, dbo.Dept.kd_dept, " _
& " dbo.Trans1.statuss, dbo.Lokasi.nm_Lokasi, dbo.Trans1.Keterangan " _
& " FROM dbo.Trans1 INNER JOIN " _
& " dbo.Lokasi ON dbo.Trans1.kd_Lokasi = dbo.Lokasi.kd_Lokasi INNER
JOIN " _
& " dbo.t_User ON dbo.Trans1.kd_User = dbo.t_User.kd_user INNER JOIN "
_
& " dbo.Dept ON dbo.t_User.kd_Dept = dbo.Dept.kd_dept " _
& " WHERE (no_Mo NOT IN " _
& " (SELECT no_mo " _
& " FROM trans2))" _
& " Order by tgl_so Desc ", oConn
MSFlexGrid1.Clear
MSFlexGrid1.Cols = 9
MSFlexGrid1.Rows = 2
i = 0
J = 1
Call headergrid
i = 0
'rs.MoveFirst
While Not rs.EOF
For i = 1 To 9
MSFlexGrid1.TextMatrix(J, i) = rs.Fields(i - 1)
Next i
rs.MoveNext
J = J + 1
MSFlexGrid1.AddItem "", MSFlexGrid1.Rows
Wend
End Sub
Private Sub Timer1_Timer()
Call tampilgrid
End Sub
Terima kasih.
KP
----------
Private Sub CmdExit_Click()
Unload Me
End Sub
Private Sub Form_Load()
dtp1.Value = Date
dtp2.Value = Date
Call TengahForm(Me, True)
End Sub
Private Sub setHeaderCol(ByVal flex As MSFlexGrid, ByVal warnaCellHeader As
Long, ByVal warnaFontHeader As Long)
Dim i As Byte
With flex
.Row = 0
For i = 0 To flex.Cols - 1
.Col = i
.CellBackColor = warnaCellHeader
.CellForeColor = warnaFontHeader
Next
End With
End Sub
Sub headergrid()
MSFlexGrid1.Cols = 10
MSFlexGrid1.Row = 0
MSFlexGrid1.ColWidth(0) = 500
MSFlexGrid1.Col = 1
MSFlexGrid1.Text = " DATE"
MSFlexGrid1.ColWidth(1) = 1000
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
Call setHeaderCol(MSFlexGrid1, vbBlue, vbWhite)
MSFlexGrid1.Col = 2
MSFlexGrid1.Text = "TIME"
MSFlexGrid1.ColWidth(2) = 1100
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
MSFlexGrid1.Col = 3
MSFlexGrid1.ColWidth(3) = 1000
MSFlexGrid1.Text = "DUE DATE"
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
MSFlexGrid1.Col = 4
MSFlexGrid1.ColWidth(4) = 1100
MSFlexGrid1.Text = "MO NO"
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
MSFlexGrid1.Col = 5
MSFlexGrid1.ColWidth(5) = 800
MSFlexGrid1.Text = "USER "
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
MSFlexGrid1.Col = 6
MSFlexGrid1.ColWidth(6) = 600
MSFlexGrid1.Text = "DEPT"
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
MSFlexGrid1.Col = 7
MSFlexGrid1.ColWidth(7) = 800
MSFlexGrid1.Text = "STATUS "
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
MSFlexGrid1.Col = 8
MSFlexGrid1.ColWidth(8) = 1400
MSFlexGrid1.Text = "LOCATION "
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
MSFlexGrid1.Col = 9
MSFlexGrid1.ColWidth(9) = 4500
MSFlexGrid1.Text = "REASON "
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
End Sub
Sub tampilgrid()
Dim i, J As Integer
Dim rs As New ADODB.Recordset
'rs.Open "select kd_article, nm_article, category, sise, price, stock, ket from
t_article ", oConn
rs.Open " SELECT dbo.Trans1.tgl_So, dbo.Trans1.jam_trs,dbo.Trans1.tgl_due,
dbo.Trans1.no_Mo, dbo.Trans1.kd_User, dbo.Dept.kd_dept, " _
& " dbo.Trans1.statuss, dbo.Lokasi.nm_Lokasi, dbo.Trans1.Keterangan " _
& " FROM dbo.Trans1 INNER JOIN " _
& " dbo.Lokasi ON dbo.Trans1.kd_Lokasi = dbo.Lokasi.kd_Lokasi INNER
JOIN " _
& " dbo.t_User ON dbo.Trans1.kd_User = dbo.t_User.kd_user INNER JOIN "
_
& " dbo.Dept ON dbo.t_User.kd_Dept = dbo.Dept.kd_dept " _
& " WHERE (no_Mo NOT IN " _
& " (SELECT no_mo " _
& " FROM trans2))" _
& " Order by tgl_so Desc ", oConn
MSFlexGrid1.Clear
MSFlexGrid1.Cols = 9
MSFlexGrid1.Rows = 2
i = 0
J = 1
Call headergrid
i = 0
'rs.MoveFirst
While Not rs.EOF
For i = 1 To 9
MSFlexGrid1.TextMatrix(J, i) = rs.Fields(i - 1)
Next i
rs.MoveNext
J = J + 1
MSFlexGrid1.AddItem "", MSFlexGrid1.Rows
Wend
End Sub
Private Sub Timer1_Timer()
Call tampilgrid
End Sub
[Non-text portions of this message have been removed]