| | |
help
![]() |
•
•
Join Date: Dec 2008
Posts: 356
Reputation:
Solved Threads: 1
sir
i want if user click in combo box corresponding value should come
from pquery, mquery from access database.
but i am not getting the result i have put some code in combo_click
but when i click in text combo box to display the last value of product_id
then i am getting error
run time error 3021 kindly help me
Private Sub Combo1_Click()
Dim nm As String
Set rscombo = New Recordset
Select Case Combo1.Text
Case "Production Consumable"
rscombo.Open "select * from Pquery", con, adOpenDynamic, adLockOptimistic
MsgBox (rscombo.Fields(0))
List1.AddItem rscombo!Fields(item_code)
Case "Maintenance Consumable"
rscombo.Open "select * from mquery", con, adOpenDynamic, adLockBatchOptimistic
Case Else
rscombo.Open "select * from pquey", con, adOpenDynamic, adLockOptimistic
End Select
End Sub
i want if user click in combo box corresponding value should come
from pquery, mquery from access database.
but i am not getting the result i have put some code in combo_click
but when i click in text combo box to display the last value of product_id
then i am getting error
run time error 3021 kindly help me
Private Sub Combo1_Click()
Dim nm As String
Set rscombo = New Recordset
Select Case Combo1.Text
Case "Production Consumable"
rscombo.Open "select * from Pquery", con, adOpenDynamic, adLockOptimistic
MsgBox (rscombo.Fields(0))
List1.AddItem rscombo!Fields(item_code)
Case "Maintenance Consumable"
rscombo.Open "select * from mquery", con, adOpenDynamic, adLockBatchOptimistic
Case Else
rscombo.Open "select * from pquey", con, adOpenDynamic, adLockOptimistic
End Select
End Sub
Filter your query by comparing the field related to the combobox text,
may be something like this,
may be something like this,
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
rscombo.Open "select * from Pquery where item_name ='" & Combo1.Text & "'", con, adOpenDynamic, adLockOptimistic
Regards
Shaik Akthar
Shaik Akthar
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
Private Sub Combo1_Click() Dim nm As String Set rscombo = New Recordset Select Case Combo1.Text Case "Production Consumable" rscombo.Open "select * from Pquery where item_name ='" & Combo1.Text & "'", con, adOpenDynamic, adLockOptimistic If rscombo.BOF = False Then MsgBox (rscombo.Fields(0)) List1.AddItem rscombo!Fields(item_code) End If Case "Maintenance Consumable" rscombo.Open "select * from mquery", con, adOpenDynamic, adLockBatchOptimistic Case Else rscombo.Open "select * from pquey", con, adOpenDynamic, adLockOptimistic End Select End Sub
Last edited by aktharshaik; Dec 6th, 2008 at 7:53 am.
Regards
Shaik Akthar
Shaik Akthar
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
If rscombo.BOF = False Then
This statement is to check if any record bearing that item_name has been retreived/not. if BOF property is True then there are no records satisfying the criteria.
Regards
Shaik Akthar
Shaik Akthar
Also change this statement
or
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
List1.AddItem rscombo.Fields("item_code")
or
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
List1.AddItem rscombo!item_code
Last edited by aktharshaik; Dec 6th, 2008 at 8:00 am.
Regards
Shaik Akthar
Shaik Akthar
1. ENSURE THAT THERE WILL BE NO SPACES IN ANY OF THE "ITEM_CODE" VALUES.
2. YOU MUST BE SURE THAT THE FIRST LETTER IS DEFINITELY AN ALPHABET "P" AND THE REMAINING PART OF THE FIELD LOOKS LIKE A NUMBER WITHOUT ANY OTHER CHARACTERS.
3. CONSIDER THE SIZE OF THE FIELD FIRSTLY CHECK THE SIZE OF THE FIELD "ITEM_CODE"
U CAN USE THIS FOLLOWING QUERY
IF YOUR ITEM_CODE FIELD HAS MULTIPLE TYPES OF VALUES LIKE "P199", "S23", "S76", "U876" U HAVE TO MODIFY THE QUERY AS BELOW
2. YOU MUST BE SURE THAT THE FIRST LETTER IS DEFINITELY AN ALPHABET "P" AND THE REMAINING PART OF THE FIELD LOOKS LIKE A NUMBER WITHOUT ANY OTHER CHARACTERS.
3. CONSIDER THE SIZE OF THE FIELD FIRSTLY CHECK THE SIZE OF THE FIELD "ITEM_CODE"
U CAN USE THIS FOLLOWING QUERY
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
Private Sub Combo1_Click() Dim nm As String Set rscombo = New Recordset Select Case Combo1.Text Case "Production Consumable" 'In this query replace 10 with a value equal to (size of your ITEM_CODE field - 1) rscombo.Open "SELECT MAX(MID(PQUERY.ITEM_CODE, 2, 10)) AS MAXID FROM PQUERY", con, adOpenDynamic, adLockOptimistic MsgBox (rscombo.Fields(0)) 'Here rscombo!MAXID is the last number. To show the next required number 'just add 1 to it and display. follow the same logic for others also List1.AddItem rscombo!MAXID + 1 Case "Maintenance Consumable" rscombo.Open "select * from mquery", con, adOpenDynamic, adLockBatchOptimistic Case Else rscombo.Open "select * from pquey", con, adOpenDynamic, adLockOptimistic End Select End Sub
IF YOUR ITEM_CODE FIELD HAS MULTIPLE TYPES OF VALUES LIKE "P199", "S23", "S76", "U876" U HAVE TO MODIFY THE QUERY AS BELOW
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
rscombo.Open "SELECT MAX(MID(PQUERY.ITEM_CODE, 2, 10)) AS MAXID FROM PQUERY WHERE LEFT(PQUERY.ITEM_CODE,1) = 'P' ", con, adOpenDynamic, adLockOptimistic 'OR rscombo.Open "SELECT MAX(MID(PQUERY.ITEM_CODE, 2, 10)) AS MAXID FROM PQUERY WHERE LEFT(PQUERY.ITEM_CODE,1) = 'U' ", con, adOpenDynamic, adLockOptimistic
Regards
Shaik Akthar
Shaik Akthar
•
•
Join Date: Dec 2008
Posts: 356
Reputation:
Solved Threads: 1
•
•
•
•
1. ENSURE THAT THERE WILL BE NO SPACES IN ANY OF THE "ITEM_CODE" VALUES.
2. YOU MUST BE SURE THAT THE FIRST LETTER IS DEFINITELY AN ALPHABET "P" AND THE REMAINING PART OF THE FIELD LOOKS LIKE A NUMBER WITHOUT ANY OTHER CHARACTERS.
3. CONSIDER THE SIZE OF THE FIELD FIRSTLY CHECK THE SIZE OF THE FIELD "ITEM_CODE"
U CAN USE THIS FOLLOWING QUERY
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
Private Sub Combo1_Click() Dim nm As String Set rscombo = New Recordset Select Case Combo1.Text Case "Production Consumable" 'In this query replace 10 with a value equal to (size of your ITEM_CODE field - 1) rscombo.Open "SELECT MAX(MID(PQUERY.ITEM_CODE, 2, 10)) AS MAXID FROM PQUERY", con, adOpenDynamic, adLockOptimistic MsgBox (rscombo.Fields(0)) 'Here rscombo!MAXID is the last number. To show the next required number 'just add 1 to it and display. follow the same logic for others also List1.AddItem rscombo!MAXID + 1 Case "Maintenance Consumable" rscombo.Open "select * from mquery", con, adOpenDynamic, adLockBatchOptimistic Case Else rscombo.Open "select * from pquey", con, adOpenDynamic, adLockOptimistic End Select End Sub
IF YOUR ITEM_CODE FIELD HAS MULTIPLE TYPES OF VALUES LIKE "P199", "S23", "S76", "U876" U HAVE TO MODIFY THE QUERY AS BELOW
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
rscombo.Open "SELECT MAX(MID(PQUERY.ITEM_CODE, 2, 10)) AS MAXID FROM PQUERY WHERE LEFT(PQUERY.ITEM_CODE,1) = 'P' ", con, adOpenDynamic, adLockOptimistic 'OR rscombo.Open "SELECT MAX(MID(PQUERY.ITEM_CODE, 2, 10)) AS MAXID FROM PQUERY WHERE LEFT(PQUERY.ITEM_CODE,1) = 'U' ", con, adOpenDynamic, adLockOptimistic
Case Else
rscombo.Open "select item_code from production WHERE item_code is not NULL and LEFT(Production.ITEM_CODE,1) = 'P' order by item_code ", con, adOpenDynamic, adLockOptimistic
'U need not write rscombo.MoveFirst b'cos
'the recordset when opened will be positioned at the First Record only
' rscombo.MoveFirst
Do Until rscombo.EOF
List1.AddItem rscombo.Fields("item_code")
rscombo.MoveNext
Loop
Exit Sub
End SelectIf any leading spaces may be in the item_code field then use the trim function.
Case Else
rscombo.Open "select item_code from production WHERE item_code is not NULL and LEFT(Trim(Production.ITEM_CODE),1) = 'P' order by item_code ", con, adOpenDynamic, adLockOptimistic
'U need not write rscombo.MoveFirst b'cos
'the recordset when opened will be positioned at the First Record only
' rscombo.MoveFirst
Do Until rscombo.EOF
List1.AddItem rscombo.Fields("item_code")
rscombo.MoveNext
Loop
Exit Sub
End Select Last edited by aktharshaik; Dec 13th, 2008 at 2:12 am.
Regards
Shaik Akthar
Shaik Akthar
since u have both upper case and lower case alphabets in the item_code use UCase in the query for comparison.
UCase() function converts any alphabet to its Upper Case. If the database is SQL Server use Upper()
Case Else
rscombo.Open "select item_code from production WHERE item_code is not NULL and LEFT(UCase(Trim(Production.ITEM_CODE)),1) = 'P' order by item_code ", con, adOpenDynamic, adLockOptimistic
'U need not write rscombo.MoveFirst b'cos
'the recordset when opened will be positioned at the First Record only
' rscombo.MoveFirst
Do Until rscombo.EOF
List1.AddItem rscombo.Fields("item_code")
rscombo.MoveNext
Loop
Exit Sub
End SelectUCase() function converts any alphabet to its Upper Case. If the database is SQL Server use Upper()
Last edited by aktharshaik; Dec 13th, 2008 at 2:25 am.
Regards
Shaik Akthar
Shaik Akthar
![]() |
Other Threads in the Visual Basic 4 / 5 / 6 Forum
Views: 1079 | Replies: 12
| Thread Tools | Search this Thread |
Tag cloud for Visual Basic 4 / 5 / 6
* 6 7 429 2007 access activex ado append application array banned basic beginner blackjack bmp box channel9 client coffeehouse college component connectionproblemusingvb6usingoledb creative data database datareport date delete designer dissertations dissertationthesis dissertationtopic error excel filter flex form game header icon ide image inboxinvb interaction key keypress listbox listview liveperson machine measure metadata movingranges nice noob number object open oracle os outlook password pause pdf picture pos print printer problem program query random range record refresh report save search size sort spectateswamp sql struct subroutine table tags textbox time timer variable variables vb vb6 vb6.0 vba visual visualbasic web windows





