จากที่ถามไปแล้วว่า จะทำให้มี Combo box 2 ตัว ที่มีความสัมพันธ์กันอย่างไร โดยใช้ข้อมูลที่มีอยู่ใน Database มีเรื่องจะถามต่อว่า แล้วจะใช้คำสั่งอย่างไรวนลูป ในการ add ข้อมูลจาก Datatbase ลง ไปในอาร์เรย์
theform.b.Options[0] = new Option('key1','value1');
.
.
theform.b.Options[n] = new Option('keyn','valuen');
ถ้ามีตัวอย่างจะขอบคุณมากค่ะ เพราะงมมาหลายวันแล้ว งานไม่เสร็จซักที ขอบคุณอีกครั้งค่ะ
การวน loop เอาค่าออกจาก database resourse ก็ทำเหมือนการแสดงผลข้อมูลใน database ธรรมดาครับ เช่น ตัวอย่างง่ายๆใน asp(vb)
<script language="javascript">
function showSub(obj){
var theForm = obj.form;
switch(obj.value){
case "1":
{
<%
connect_string = "Driver={Mysql}; Server=localhost;
Database=domainname_com; UID=username; PWD=password"
set dbConn = server.createObject("ADODB.connection")
dbConn.open connect_string
mySQL="select * from asptest"
set rstemp=dbConn.execute(mySQL)
If rstemp.eof then
response.write "No records matched"
response.write mySQL & "So cannot make table..."
connection.close
set connection=nothing
response.end
end if
DO UNTIL rstemp.eof
key = rstemp("key")
value = rstemp("value")
response.write "theForm.b.options["& i &"] = new Option('" & key & "','" & value & "');"
rstemp.movenext
LOOP
set rstemp=nothing
dbConn.close
set dbConn=nothing
%>
}
break;
</script>
Code เหล่านี้ใช้การวน loop อ่านข้อมูลจาก database ที่ query ออกมาจาก database ธรรมดาครับ สามารถหา code ได้จากเว็บไซท์ทั่วไปครับ
การวน loop ก็จะต้อง query ข้อมูลออกมาในทุกกรณีที่เกิดขึ้นกับ combo a ครับ จากตัวอย่างเป็นเหตุการณ์ที่ combo a ในกรณีมีค่า 1 เท่านั้นครับ
ต้องขออภัยจริงๆครับถ้ามี code ใดผิดพลาด เนื่องจากไม่ค่อยได้เขียน asp(vb) ครับ
Sat 1 Apr 2006 13:52:53
จะทำ sinwave ในโปรแกรม vb mevpjk'wi8iy[
Tue 12 Sep 2006 12:22:45
บอกวิธีทำ โปรแกรมแปลงค่าเงินบาทหน่อยคับผมต้องส่งอาจารย์นะคับช่วยทีคับ
อธิบายด้วยนะคับเดียวผมงง เอา แปลงแบบใช้ combobox นะคับ
<select name="currency">
<option value="37.89">US Dollar</option>
<option value="68.52">Euro</option>
<option value="70.21">GBP</option>
<option value="29.53">Singapore Dollar</option>
</select>
จากนั้นก็เอาไปคูณกับจำนวนเงินที่ต้องการคำนวณครับ เช่น
150 * 37.89 = 5683.50
150 US Dollar จะได้ 5,683.50 บาท
ถ้าต้องการแปลงกลับก็เอาไปหารรวมทั้งหาเศษเท่านั้นครับ
Sat 16 Sep 2006 06:19:00
จับ erroให้หน่อยคับคือถ้าไม่เลือกที่สกุลเงินมันจะ erro คับ โปรแกรมผมไม่สวยงามเลยช่วยแก้ไขให้ด้วยนะคับท่าน
Dim mvalue(21) As Single
Private Sub Command1_Click()
Dim m As Single
Dim b As Single
m = Val(Text1.Text)
If Text1.Text = "" Then
MsgBox "¡ÃسҡÃÍ¡¨Ó¹Ç¹à§Ô¹"
End If
If Option1.Value Then
b = getmoneyValue(Combo1.ListIndex) / m
Label1.Caption = b & " Baht"
label2.Caption = getmoneyValue(Combo1.ListIndex) & "/" & m & " = " & getmoneyValue(Combo1.ListIndex / m)
Else
b = getmoneyValue(Combo1.ListIndex) * m
Label1.Caption = b & " Baht"
label2.Caption = getmoneyValue(Combo1.ListIndex) & "*" & m & " = " & getmoneyValue(Combo1.ListIndex) * m
End If
End Sub
Private Sub Command2_Click()
End
End Sub
Function getmoneyValue(ByVal x As Integer) As Single
Dim tmp As Single
Dim i As Integer
For i = 0 To 20
If x = i Then
tmp = mvalue(x)
End If
Next i
getmoneyValue = tmp
End Function
Private Sub Command3_Click()
Text1.Text = ""
Label1.Caption = ""
label2.Caption = ""
End Sub
Private Sub Form_Load()
mvalue(0) = 0
mvalue(1) = 41.5055
mvalue(2) = 51.0613
mvalue(3) = 2.6544
mvalue(4) = 5.3332
mvalue(5) = 11.1904
mvalue(6) = 24.6159
mvalue(7) = 24.6723
mvalue(
= 0.7463
mvalue(9) = 4.7978
mvalue(10) = 0.9729
mvalue(11) = 33.0326
mvalue(12) = 29.7413
mvalue(13) = 27.8307
mvalue(14) = 0.7268
mvalue(15) = 32.5319
mvalue(16) = 0.6219
mvalue(17) = 6.8712
mvalue(1
= 5.0294
mvalue(19) = 250
mvalue(20) = 4.7978
Combo1.AddItem "Ê¡ØÅà§Ô¹"
Combo1.AddItem "´ÍÅÅÒÃìÊËÃѰ"
Combo1.AddItem "ÂÙâÃ"
Combo1.AddItem "à¹"
Combo1.AddItem "´ÍÅÃìÅÒÎèͧ¡§"
Combo1.AddItem "Ãѧ¡Ôµ ÁÒàÅà«ÕÂ"
Combo1.AddItem "´ÍÅÃìÅÒÊÔ§¤â»Ãì"
Combo1.AddItem "´ÍÅÃìÅÒºÃÙä¹"
Combo1.AddItem "໹⫿ÔÅÔ¹»Ô¹"
Combo1.AddItem "ÃÙ»ÕÍÔ¹à´ÕÂ"
Combo1.AddItem "¿ÃѧÊÇÔÊ¡ì"
Combo1.AddItem "´ÍÅÃìÅÒÍÍÊàµÕÂàÅÕÂ"
Combo1.AddItem "´ÍÅÃìÅÒ¹ÔÇ«ÕᏤì"
Combo1.AddItem "ÃÙ»Õ»Ò¡Õʶҹ"
Combo1.AddItem "´ÍÅÃìÅÒ᤹¹Ò"
Combo1.AddItem "â¤Ã¹Ò"
Combo1.AddItem "â¤Ã¹Òà´¹ÁÒÃì¡"
Combo1.AddItem "â¤Ã¹Ò¹ÍÃìàÇÂì"
Combo1.AddItem "àùÁѹºÔ"
Combo1.AddItem "¡Õº"
Combo1.AddItem "ÃÙà»ÕÂ"
End Sub
Sat 16 Sep 2006 06:21:23
น่าจะมีปัญหาตรงนี้ล่ะครับ เพราะจะสามารถเกิด n/0 ซึ่งไม่สามารถคำนวณหาค่าได้ครับ อย่างไรแล้วลองทำการตรวจสอบค่าของ m ว่าไม่เป็น 0 เสียก่อนครับ นัยคือมีการเลือกค่าครับ
Sat 16 Sep 2006 10:59:13
แก้แล้วคับท่านยังไม่หายเลยคับบอกหน่อยคับท่าน จุดที่ว่า ถ้าไม่เลือกสกุลเงินแล้วโปรแกรมจะ ERROคับช่วยทีหาวิธีหน่อยคับ
Sat 16 Sep 2006 12:26:07
b = m / getmoneyValue(Combo1.ListIndex)
Label1.Caption = b & " Baht"
label2.Caption = getmoneyValue(Combo1.ListIndex) & "/" & m & " = " & m / getmoneyValue(Combo1.ListIndex)
ตรงสีเขียวนี้ละคับที่ มันจะมีเหลืองๆๆแจ้งERROคับ
แล้วที่บรรทัดที่เป็นปัญหา ตัวแปร m นั้นมีค่าเป็นเท่าไร และ getmoneyValue(Combo1.ListIndex) มีค่าเป็นเท่าไร
อาจจะเอาตัวแปรมารับค่าจาก getmoneyValue(Combo1.ListIndex) เพื่อทำการ debug ก็ได้ครับ ดูครับว่าทั้ง ตัวมีค่าเป็นเท่าไรครับ
Sat 16 Sep 2006 16:21:22
ขอบคุณคับแต่ผมยังทำไม่ได้เหมือนเดิมคับ
Mon 18 Sep 2006 08:56:41
บอกวิธีเอารูปขึ้นหน่อยคับผมจะรูปที่มันERROให้ดูคับ
Mon 18 Sep 2006 08:56:41
บอกวิธีเอารูปขึ้นหน่อยคับผมจะรูปที่มันERROให้ดูคับ
Tue 19 Sep 2006 15:59:45
มันไม่ได้นะคับ ผมมันเป็นเว็ปดำไปหมดเลยคับ
Tue 19 Sep 2006 16:05:28
http://img.icez.net/ib/bgfk1.jpg
http://img.icez.net/it/tdau2.jpg
นี้ละคับท่านดูให้หน่อยคับ จะส่งวัน พฤหัสบดี นี้คับ
getmoneyValue(Combo1.ListIndex) นั้นคืนค่ามาเป็น 0 ครับ ต้องเช็คดูครับว่า function นี้ทำไมจึงคืนค่ามาเป็น 0 ครับ การคืนค่าของ function นั้นต้องตรวจสอบดูครับ ซึ่งทั้ง m และ getmoneyValue(Combo1.ListIndex) ต้องไม่เป็น 0 ครับ
Tue 19 Sep 2006 19:38:54
ขอไรได้ไหมคับเขียนให้ผมหน่อย มันออกจะน่าเกลียดแต่ผมต้องส่งจิงๆๆนะคับ ผมปวดหัวจะแย่แล้วคับ จะเอาเรื่องอื่นก็ไม่ทันแล้ว คับได้โปรดคับ ผมส่งวันที่ 21 คับ
Function getmoneyValue(ByVal x As Integer) As Single
Dim tmp As Single
tmp = CSng(Combo1.Text)
getmoneyValue = tmp
End Function
Tue 19 Sep 2006 21:22:59
ไม่ได้ครับยังเหมือนเดิม แต่มันไม่รับค่าเป็น 0 แล้ว แต่มันยัง Erro อยู่ครับช่วยหน่อย
Tue 19 Sep 2006 21:42:18
ท่านมีโปรแกรมเปิด VBไมครับ ดูให้หน่อยผมอัพให้แล้วคับ
Tue 19 Sep 2006 21:45:38
http://www.uploading.com/files/M0XMT2DN/VB.rar.html
ตัวแรกใช้ไม่ได้คับ เอาตัวนี้นะคับ
Tue 19 Sep 2006 21:49:59
ผมลืมบอกวิธีโหลดคับท่าน พอเข้าเว็ปแล้วท่าน เลื่อนลงมาข้างล่างนะคับจะเห็นคำว่า Free คับ กดเลยคับ แล้วท่านก็รอกรอก โค๊ดที่มันจะขึ้นมานะคับ แล้วรอประมาณ 30 วินาทีคับแล้วท่านก็โหลดเลยคับ ขอบคุณมากๆๆนะคับที่ กรุณาช่วยผม
Wed 20 Sep 2006 19:22:40
ท่านคับผมทำได้แล้วคับท่าน แค่เพิ่มตัวนี้คับ
Dim list As Integer
list = Combo1.ListIndex
If list < 0 Then
MsgBox "¡ÃسÒàÅ×͡ʡØÅà§Ô¹", vbOKOnly, "Error"
End If
ขอบคุณท่านที่ช่วยผมมาตลอดคับ ขอบคุณคับ

















