Whing Dela Cruz
asked on
Caption from Table
How can I develop a code wherein one of my table field will be the one who display in command.caption? Here is the scenario of my problem.. I have a table (stock) its field are
Procode Proname Tag_Name
100 Sample 1 Spl 1
101 Sample 2 Spl 2
103 Swan Swan
In my form I have a command button name cmd1 Its Index are 100,101,103
I'm trying to get the Tag_name of my Table and put it into a caption of my command button. My code below already display but the problem is.. it would only display one(1) tag_name.
Is it possible that in this scenario, I could make the caption base on the tag_name shown above?
example cmd1(100) the caption will be "Spl 1"
cmd2(101) the Caption will be "Spl 2" and so on...
My bases of this is the Index of my command button and the Procode of my table which is they are the same to each other. Please help me. Thanks!
Procode Proname Tag_Name
100 Sample 1 Spl 1
101 Sample 2 Spl 2
103 Swan Swan
In my form I have a command button name cmd1 Its Index are 100,101,103
I'm trying to get the Tag_name of my Table and put it into a caption of my command button. My code below already display but the problem is.. it would only display one(1) tag_name.
Is it possible that in this scenario, I could make the caption base on the tag_name shown above?
example cmd1(100) the caption will be "Spl 1"
cmd2(101) the Caption will be "Spl 2" and so on...
My bases of this is the Index of my command button and the Procode of my table which is they are the same to each other. Please help me. Thanks!
'Modules
Public Function Tag_Name(ProCode) As String
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim sql As String
Set rs = New ADODB.Recordset
sql = "select * from STOCK where PROCODE='" & "100" & "'"
rs.LockType = adLockOptimistic
rs.CursorType = adOpenKeyset
rs.Open sql, cn
With rs
If .BOF = True And _
.EOF = True Then
Tag_Name = ""
Else
Tag_Name = !Tag_Name
End If
.Close
End With
Set rs = Nothing
End Function
Public Sub Tag1()
Dim s As Labeler
Set s = New Labeler
s.OPEN_CON "mydb", ""
cmd1(100).Caption = s.Tag_Name("")
s.CLOSE_CON
Set s = Nothing
End Sub
ASKER
Yes sir, When I tried it an error message says "Invalid use of Null"
Tag_Name = !Tag_Name
Tag_Name = !Tag_Name
ASKER
Sorry sir, The problem was in my database. Now the code is working already.
Is there any other way to shorten the code? I have 50 cmd1 sir from cmd(0) to cmd1(49). If none, its okey. if yes, Can you tell me more?
Is there any other way to shorten the code? I have 50 cmd1 sir from cmd(0) to cmd1(49). If none, its okey. if yes, Can you tell me more?
>>When I tried it an error message says "Invalid use of Null"
Tag_Name = !Tag_Name
You can use:
Tag_Name = !Tag_Name & ""
>>Is there any other way to shorten the code? I have 50 cmd1 sir from cmd(0) to cmd1(49). If none, its okey. if yes, Can you tell me more?
Do you have anything that matches those numbers into the database? Or do you just want to set the Caption of the first 50 command buttons with the first 50 rows of the database?
Tag_Name = !Tag_Name
You can use:
Tag_Name = !Tag_Name & ""
>>Is there any other way to shorten the code? I have 50 cmd1 sir from cmd(0) to cmd1(49). If none, its okey. if yes, Can you tell me more?
Do you have anything that matches those numbers into the database? Or do you just want to set the Caption of the first 50 command buttons with the first 50 rows of the database?
ASKER
Yes sir, What i did is that i set the procode to be the same with the cmd1(index) . example if my index is 100 then I set also 100 as a Pocode in my database.
what about this (not tested, from the top of my head):
Public Sub Tag1()
Dim s As Labeler
Set s = New Labeler
s.OPEN_CON "mydb", ""
dim x as command
for each x in cmd1
x.Caption = s.Tag_Name(cmd1.Index)
next
s.CLOSE_CON
Set s = Nothing
End Sub
ASKER
I tried sir, an error message says "Method or data member not found"
.Index
.Index
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Its very sucessfull sir, the code is working. Once again thank you so much to you!
Open in new window