ako table ba kai duha ang foreign key then ang last column kay quantity...
Code:
Dim blnAscendingSort As Boolean
Dim searchField As Byte
Dim newEdit As Byte
Private Sub CmdAddFlowerID_Click()
FrameFlowerId.Visible = True
Dim rs As New ADODB.Recordset
rs.Open "select ITEM_NO,ITEM_NAME from ITEM ", Conn, adOpenForwardOnly, adLockReadOnly
If Not rs.EOF Then
MSHFlower.ColWidth(0) = 0
Set MSHFlower.DataSource = rs
With MSHFlower
.ColWidth(1) = 1000
.ColAlignmentFixed(1) = 3
.ColAlignment(1) = 3
End With
End If
FrameItemNu.Visible = False
End Sub
Private Sub Command1_Click()
Dim fnt As New StdFont
Dim myFont, Str As String
Dim YPos As Integer
Printer.ScaleMode = vbTwips
myFont = "Arial Rounded MT"
YPos = 600
fnt.Name = myFont: fnt.Size = 24: fnt.Bold = True
Set Printer.Font = fnt
Str = "ITEM STRUCTURE MASTERLIST"
Printer.CurrentY = YPos
Printer.CurrentX = (Printer.ScaleWidth - Printer.TextWidth(Str)) / 2
Printer.Print Str
YPos = Printer.CurrentY + 200
fnt.Name = myFont: fnt.Size = 12: fnt.Bold = False
Set Printer.Font = fnt
Dim rs As New ADODB.Recordset
rs.Open "select * from structure", Conn, adOpenForwardOnly, adLockReadOnly
'SELECT EMPNO,LASTNAME,FIRSTNME,SALARY,DEPTNAME FROM EMPLOYEE LEFT JOIN DEPARTMENT ON DEPTNO=WORKDEPT", db2conn, adOpenForwardOnly, adLockReadOnly
Str = "ITEM NUMBER"
Printer.CurrentY = YPos
Printer.CurrentX = 2400
Printer.Print Str
Str = "ITEM NAME"
Printer.CurrentY = YPos
Printer.CurrentX = 5600
Printer.Print Str
Str = "QUANTITY"
Printer.CurrentY = YPos
Printer.CurrentX = 8600
Printer.Print Str
YPos = Printer.CurrentY
rs.MoveFirst
While Not rs.EOF
Str = rs!STR_ITEMNO 'rs.Fields(0).Value
Printer.CurrentY = YPos
Printer.CurrentX = 2400
Printer.Print Str
Str = rs!STR_FLOWER 'rs.Fields(1).Value
Printer.CurrentY = YPos
Printer.CurrentX = 5600
Printer.Print Str
Str = IIf(Not IsNull(rs!STR_QTY), rs!STR_QTY, "") 'rs.Fields(4).Value
Printer.CurrentY = YPos
Printer.CurrentX = 8600
Printer.Print Str
rs.MoveNext
YPos = Printer.CurrentY
Wend
Printer.EndDoc
End Sub
Private Sub MSHFlower_Click()
With MSHFlower
TXTFLOWER = .TextMatrix(.MouseRow, 1)
End With
FrameFlowerId.Visible = False
End Sub
Private Sub MSHItem_Click()
With MSHItem
Text2 = .TextMatrix(.MouseRow, 1)
End With
FrameItemNu.Visible = False
End Sub
Private Sub Text2_GotFocus()
Text2.BackColor = RGB(162, 162, 208)
End Sub
Private Sub CmdAdditemnu_Click()
TextVIEWITEMNO.Visible = False
FrameItemNu.Visible = True
Dim rs As New ADODB.Recordset
rs.Open "select ITEM_NO,ITEM_NAME from ITEM ", Conn, adOpenForwardOnly, adLockReadOnly
If Not rs.EOF Then
MSHItem.ColWidth(0) = 0
Set MSHItem.DataSource = rs
With MSHItem
.ColWidth(1) = 1000
.ColAlignmentFixed(1) = 3
.ColAlignment(1) = 3
End With
End If
FrameFlowerId.Visible = False
End Sub
Private Sub cmdCancel_Click()
clearTextboxes
MSHStructure.Enabled = True
cmdInsert.Enabled = True
cmdNew.Enabled = True
cmdCancel.Enabled = True
cmdExit.Enabled = True
cmdInsert.Enabled = False
cmdDel.Enabled = False
cmdEdit.Enabled = False
txtSearch.Enabled = False
TextVIEWITEMNO.Visible = False
Frame1.Enabled = False
End Sub
Private Sub cmdDel_Click()
Dim ans As Byte
ans = MsgBox(" Are you sure you want to remove this record?", vbYesNo, "Delete")
If ans = vbYes Then
Dim rs As New ADODB.Recordset
rs.Open "Delete from STRUCTURE where STR_ITEMNO = '" & Text2.Text & "'", Conn, adOpenDynamic, adLockOptimistic
MsgBox "One record removed!"
Unload Me
Form1.Show
End If
txtSearch.Enabled = False
End Sub
Private Sub cmdEdit_Click()
controlTextBoxes (True)
Text2.Enabled = False
controlButtons (False)
cmdInsert.Enabled = True
cmdCancel.Enabled = True
newEdit = 1
TXTFLOWER.SetFocus
txtSearch.Enabled = False
CmdAdditemnu.Enabled = True
CmdAddFlowerID.Enabled = True
End Sub
Private Sub cmdSave_Click()
controlButtons (False)
controlTextBoxes (False)
cmdNew.Enabled = True
cmdSearch.Enabled = True
cmdCancel.Enabled = True
If Text2 = "" Or TXTFLOWER = "" Or TXTQTY = "" Then
MsgBox ("Please fill up empty fields!")
controlTextBoxes (True)
controlButtons (False)
cmdsave.Enabled = True
cmdCancel.Enabled = True
End If
End Sub
Private Sub cmdExit_Click()
End
End Sub
Private Sub cmdnew_Click()
TextVIEWITEMNO.Visible = False
MSHStructure.Enabled = False
Text2.Enabled = False
TXTFLOWER.Enabled = False
TXTQTY.Enabled = True
cmdInsert.Enabled = True
cmdCancel.Enabled = True
txtSearch.Enabled = False
newEdit = 0
CmdAdditemnu.Enabled = True
CmdAddFlowerID.Enabled = True
Frame1.Enabled = True
End Sub
Function controlButtons(flag)
cmdNew.Enabled = flag
cmdInsert.Enabled = flag
cmdEdit.Enabled = flag
cmdDel.Enabled = flag
cmdSearch.Enabled = flag
cmdCancel.Enabled = flag
End Function
Private Sub cmdInsert_Click()
If Text2.Text = "" Then
MsgBox "No ITEM NO. FOUND.", vbOKOnly + vbCritical, "ERROR: Empty field/s. "
Text2.SetFocus
Exit Sub
End If
If TXTFLOWER.Text = "" Then
MsgBox "No FLOWER ID entered.", vbOKOnly + vbCritical, "ERROR: Empty field/s. "
TXTFLOWER.SetFocus
Exit Sub
End If
If TXTQTY.Text = "" Then
MsgBox "No QUANTITYS.", vbOKOnly + vbCritical, "ERROR: Empty field/s. "
TXTQTY.SetFocus
Exit Sub
End If
Dim rs As New ADODB.Recordset
Dim sqlstr As String
If newEdit = 0 Then
'sqlstr = "insert into STRUCTURE values('" & Text2.Text & "', '" & TXTFLOWER.Text & "', " & Val(TXTQTY.Text) & ")"
sqlstr = "Insert Into STRUCTURE(STR_ITEMNO,STR_FLOWER,STR_QTY) values('" & Text2.Text & "', '" & TXTFLOWER.Text & "', " & Val(TXTQTY.Text) & ")"
If CStr(Text2.Text) = CStr(TXTFLOWER.Text) Then
MsgBox ("The Item Number Can't be The Same with Flower ID")
TXTFLOWERFocus
Exit Sub
End If
' If rs.EOF Then
' rs.Close
rs.Open sqlstr, Conn, adOpenDynamic, adLockOptimistic
MsgBox "New strcuture Information Saved", vbInformation + vbOKOnly, "Saved"
Unload Me
Form1.Show
clearTextboxes
Else
sqlstr = "Update STRUCTURE set STR_QTY='" & TXTQTY.Text & "' where STR_ITEMNO='" & Text2.Text & "'"
'Comm=" & Val(txtComm.Text) & " where empno='" & txtEmpno.Text & "' "
rs.Open sqlstr, Conn, adOpenDynamic, adLockOptimistic
MsgBox "Employee's Information Updated", vbInformation + vbOKOnly, "Updated"
clearTextboxes
End If
populateFlexGrid
controlTextBoxes (False)
cmdInsert.Enabled = True
txtSearch.Enabled = False
End Sub
Function populateFlexGrid()
Dim rs As New ADODB.Recordset
Dim sqlstr As String
sqlstr = "SELECT STR_ITEMNO, (SELECT ITEM_NAME FROM ITEM WHERE ITEM_NO = STR_ITEMNO) AS ITEM, (SELECT ITEM_NAME FROM ITEM WHERE ITEM_NO =STR_FLOWER) AS ITEM_PIECE, STR_QTY AS QUANTITY FROM STRUCTURE order by STR_ITEMNO asc"
rs.Open sqlstr, Conn, adOpenForwardOnly, adLockReadOnly
If Not rs.EOF Then
MSHStructure.FixedCols = 0
Set MSHStructure.Recordset = rs
With MSHStructure
.FormatString = "ITEM NO|ITEM NO|FLOWER ID|QTY."
.ColWidth(0) = 0
.ColWidth(1) = 2500
.ColWidth(2) = 2500
.ColWidth(3) = 1500
.AllowUserResizing = flexResizeColumns
.SelectionMode = flexSelectionByRow
End With
Else
MSHStructure.FixedCols = 0
With MSHStructure
.TextMatrix(1, 0) = ""
.TextMatrix(1, 1) = ""
'.TextMatrix(1, 2) = ""
End With
End If
End Function
Function clearTextboxes()
Text2 = ""
TXTFLOWER = ""
TXTQTY = ""
End Function
Function controlTextBoxes(flag)
Text2.Enabled = flag
TXTFLOWER.Enabled = flag
TXTQTY.Enabled = flag
End Function
Function fillUpITEMNO()
Dim rs As New ADODB.Recordset
Dim sqlstr As String
sqlstr = "SELECT ITEM_NO from ITEM"
rs.Open sqlstr, Conn, adOpenForwardOnly, adLockReadOnly
While Not rs.EOF
Text2.AddItem (rs!ITEM_NO)
rs.MoveNext
Wend
rs.Close
End Function
Private Sub cmdSearch_Click()
txtSearch.Enabled = True
txtSearch.Visible = True
Text2.Enabled = False
TXTFLOWER.Enabled = False
TXTQTY.Enabled = False
MSHStructure.Enabled = False
cmdNew.Enabled = False
cmdInsert.Enabled = False
cmdEdit.Enabled = False
cmdDel.Enabled = False
cmdCancel.Enabled = True
cmdExit.Enabled = True
End Sub
Private Sub Form_Load()
TextVIEWITEMNO.Enabled = False
db2Connect
populateFlexGrid
controlButtons (False)
controlTextBoxes (False)
MSHStructure.Enabled = True
searchField = 0
cmdSearch.Enabled = False
cmdNew.Enabled = True
cmdSearch.Enabled = True
cmdCancel.Enabled = True
Text1.Enabled = False
Text4.Enabled = False
FrameFlowerId.Visible = False
FrameItemNu.Visible = False
CmdAdditemnu.Enabled = False
CmdAddFlowerID.Enabled = False
txtSearch.Visible = False
End Sub
Private Sub MSHStructure_Click()
'TextVIEWITEMNO.Enabled = True
Text2.Text = MSHStructure.TextMatrix(MSHStructure.RowSel, 0)
TextVIEWITEMNO.Text = MSHStructure.TextMatrix(MSHStructure.RowSel, 1)
TXTFLOWER.Text = MSHStructure.TextMatrix(MSHStructure.RowSel, 2)
TXTQTY.Text = MSHStructure.TextMatrix(MSHStructure.RowSel, 3)
controlButtons (True)
cmdNew.Enabled = False
cmdCancel.Enabled = True
cmdInsert.Enabled = False
txtSearch.Enabled = False
End Sub
Private Sub MSHStructure_GotFocus()
MSHStructure.BackColor = RGB(204, 204, 255)
End Sub
Function TXTFLOWERFocus()
TXTFLOWER.BackColor = RGB(162, 162, 208)
End Function
Private Sub TXTQTY_GotFocus()
TXTQTY.BackColor = RGB(162, 162, 208)
End Sub
Private Sub TXTQTY_KeyPress(KeyAscii As Integer)
If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyBack Then
Exit Sub
Else
MsgBox "Only numbers required."
KeyAscii = 0
Beep
End If
End Sub
Private Sub txtSearch_Change()
Dim rs As New ADODB.Recordset
Dim sqlstr As String
sqlstr = "SELECT STR_ITEMNO, (SELECT ITEM_NAME FROM ITEM WHERE ITEM_NO = STR_ITEMNO) AS ITEM, (SELECT ITEM_NAME FROM ITEM WHERE ITEM_NO =STR_FLOWER) AS ITEM_PIECE, STR_QTY AS QUANTITY FROM STRUCTURE where STR_ITEMNO like '" & txtSearch.Text & "%' order by STR_ITEMNO asc"
rs.Open sqlstr, Conn, adOpenForwardOnly, adLockReadOnly
Set MSHStructure.Recordset = rs
rs.Close
cmdCancel.Enabled = True
End Sub
Private Sub txtSearch_GotFocus()
txtSearch.BackColor = RGB(162, 162, 208)
End Sub
guys i really need help jud..