Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > สอบถามผู้รู้ Visual Basic 6.0 เรื่อง Control Textbox และ Connect Database ค่ะ



 

สอบถามผู้รู้ Visual Basic 6.0 เรื่อง Control Textbox และ Connect Database ค่ะ

 



Topic : 122879



โพสกระทู้ ( 7 )
บทความ ( 0 )



สถานะออฟไลน์




สวัสดีค่ะ
พอดีเขียนโปรแกรม VB แล้วติดปัญหา ไปต่อไม่ได้
อ่านจากคู่มือ หรือ กระทู้หลายๆเว็ป ก็ยังไม่เข้าใจ
ขอรบกวนสอบถามท่านผู้รู้หน่อยคะ



ตอนนี้กำลังเขียนโปรแกรม

รับค่าข้อมูลจาก Textbox ที่ชื่อ PT1,PT2

PT1.Text
PT2.Text


และมีปุ่มกดตัวนึงเพื่อ save ข้อมูลจาก PT2 ลง database ชื่อ SaveBtn

ตอนนี้ทำเงื่อนไข
ให้ ผู้ใช้ใส่ค่า textbox PT1 และ PT2
จากนั้น เมื่อกดปุ่ม SaveBtn

ค่าของ text box ทั้งสองตรงกัน : ส่วนนี้ทำได้แล้ว

Code (VB.NET)
Private Sub SaveBtn_Click()

Dim A, B As String

A = PT1.Text
B = PT2.Text


    If A & B <> "" Then
    Else
    MsgBox "Insert Lot ID"
    PT1.SetFocus
    
        Exit Sub
    End If
    
    If A = B Then
    MsgBox "Completed"
        Else
    MsgBox "Lot ID Wrong!"
    PT1.SetFocus
    Exit Sub
    End If
End sub



ตอนนี้ฐานข้อมูลที่ใช้ได้เป็นแบบ Access .mdb ค่ะ
เพราะเครื่องไม่สามารถ Simulate ฐานข้อมูลจำลองมาใช้ได้
เพราะติดพาสเวิร์ด ADMIN T_T

สรุปโปรเซสมันประมาณนี้ค่ะ

ป้อนชื่อคนลงบน textbox > กดปุ่มเซฟ > เก็บลง Database


คำถามคือ ..
= เราจะรับค่าของ Textbox ที่ผู้ใช้ป้อนเข้ามา แล้วเอาไปเก็บที่ฐานข้อมูลได้ยังไงคะ
ไม่ทราบคำสั่งและวิธีเอาข้อมูลไปเก็บเลบ
= เมื่อเราป้อนข้อมูล แล้วกดบันทึก เราจะสามารถทดสอบได้อย่างไรว่า ข้อมูลนั้นบันทึกแล้วจริงๆ
(เคยคิดจะทดสอบใน Excel แต่ไม่เป็นเลยจริงๆ โง่มาก )



ขอบคุณที่สุดค่ะ



Tag : Ms Access, MySQL, Report Others, VB.NET, C







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-05-12 12:34:05 By : pemneeat View : 3079 Reply : 24
 

 

No. 1



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ลองค้นหาคำว่า VB.net SQL Insert ดูครับ
ใช้ให้คล่องก็ ป้อนชื่อคนลงบน textbox > กดปุ่มเซฟ > เก็บลง Database ได้แล้วครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-12 13:12:55 By : lamaka.tor
 


 

No. 2



โพสกระทู้ ( 7 )
บทความ ( 0 )



สถานะออฟไลน์


ส่วนมากจะติดต่อกับฐานข้อมูลที่เป็น ADO ค่ะ
แล้วก็เป็น VB version 2008,2015 ที่มันไม่ตรงกับที่เราใช้อยู่คือ vb 6.0

คงหมดหนทางละจริงๆ _ ขอบคุณมากค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-12 13:24:13 By : pemneeat
 

 

No. 3



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

http://www.vb-helper.com/howto_ado_insert_into.html
https://www.daniweb.com/programming/software-development/threads/78056/problems-with-insert-into-and-ado
http://www.dreamincode.net/forums/topic/25635-insert-records-into-a-database/
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-12 14:39:28 By : lamaka.tor
 


 

No. 4

Guest


- โรงเรียนไหนยังสอน vb6 อยู่อีกเหรอ

- If A & B <> "" Then <== เงื่อนไขนี้ work เหรอ

- เครื่องไม่สามารถ Simulate ฐานข้อมูลจำลองมาใช้ได้ เพราะติดพาสเวิร์ด ADMIN T_T <== ไม่น่าจะใช่เหตุผลนะ

คำถามคือ ..
= เราจะรับค่าของ Textbox ที่ผู้ใช้ป้อนเข้ามา แล้วเอาไปเก็บที่ฐานข้อมูลได้ยังไงคะ
ไม่ทราบคำสั่งและวิธีเอาข้อมูลไปเก็บเลบ

- ก็รับเข้ามาเหมือนที่เอามาเปรียบเทียบนั่นแหละ ส่วนการติดต่อ access นั้น vb6 ก็ใช้ ado นั่นแหละ ไม่มีทางเลือกอยู่แล้ว
เทคโนโลยีเก่าขนาดนั้น ก็สร้าง connection ก่อน จากนั้นก็สร้าง command แล้วก็ bind parameter แล้ว execute

Code (VB.NET)
Private Sub SaveBtn_Click()
    Dim A, B As String

    A = PT1.Text
    B = PT2.Text

    If A = "" Or B = "" Then
        MsgBox "Insert Lot ID"
        PT1.SetFocus
    
        Exit Sub
    End If

    If A <> B Then
        MsgBox "Lot ID Wrong!"
        PT1.SetFocus

        Exit Sub
    End If

    Dim C As New ADODB.Connection
    C.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb;User Id=admin;Password=;"

    Dim SQL As String
    SQL = "INSERT INTO MyTable (ID, Name) VALUES (" & A & ", " & B & ")"

    C.Execute(SQL)
    C.Close

 End Sub


= เมื่อเราป้อนข้อมูล แล้วกดบันทึก เราจะสามารถทดสอบได้อย่างไรว่า ข้อมูลนั้นบันทึกแล้วจริงๆ
(เคยคิดจะทดสอบใน Excel แต่ไม่เป็นเลยจริงๆ โง่มาก )

- เป็น access ก็เอา .mdb มาเปิดดูสิ


ปล. จริงๆ น่าจะเอาครูมาปรับทัศนคตินะ สอนไปได้ไง vb6 เขาเลิกพัฒนาจะ 20 ปีอยู่แล้ว ไม่ได้ติดตามเทคโนโลยีเลย

แล้วจะสอน it ได้ไง ตัวเองยังตามเทคโนโลยีไม่ทันเลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-12 15:47:40 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 5



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

พอดีไปอ่านดูเห็นโค๊ดเหมือน vb.net vb6 ไม่ใช่ vb.net เรอะครับ



งั้นต้องขออภัยอย่างยิ่งนะครับกับการแนะนำของผม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-12 16:23:42 By : lamaka.tor
 


 

No. 6



โพสกระทู้ ( 7 )
บทความ ( 0 )



สถานะออฟไลน์


เรียนคุณ Guest


- โรงเรียนไหนยังสอน vb6 อยู่อีกเหรอ
เอ่อ ไม่ใช่ โรงเรียนค่ะ เป็นบริษัทแห่งหนึ่งที่เขายังใช้รุ่นนี้อยู่
แต่เราดันซื้อหนังสือรุ่นใหม่ล่าสุดมาอ่าน ทำให้ไม่เข้าใจเท่าที่ควร
อย่าไปโทษบริษัทเขาเลยนะ ^^
เราเพิ่งศึกษาได้แค่สามวันเองค่ะ



- If A & B <> "" Then <== เงื่อนไขนี้ work เหรอ
เรื่องเงื่อนไข เราอ่านมาจากหลายๆเวปแล้วลองทำเองคะ
มันใช้ได้นะ
ถึงจะไม่ถูกก็เถอะ
พอรันไทม์ไป มันก็ออกมาตามต้องการนี่นา



- เครื่องไม่สามารถ Simulate ฐานข้อมูลจำลองมาใช้ได้ เพราะติดพาสเวิร์ด ADMIN T_T <== ไม่น่าจะใช่เหตุผลนะ
อืม
ปกติเคยเรียนเก่ากว่านั้นอีกค่ะ เป็น Delphi7
ใช้ wamp serverในการจำลองฐานข้อมูล
เลยนึกว่ากับ VB มันน่าจะเป็นตัวเดียวกัน
ขอโทษนะคะ เราด้อยประสบการณ์
แต่ในคอมของทางบริษัทเราทราบกันดีว่า
เรื่อง ความปลอดภัย อันนี้มันเลี่ยงไม่ได้ค่ะ
ซึ่งในเครื่องเดิมๆเลยไม่มี Access ด้วยค่ะ ตอนนี้เลยโหลด access Nortwind ที่เคยเรียนมาเพราะพอจำคลาสได้
จะจำลองฐานข้อมูลมาใช้เค้าก็ไม่ให้installลงเครื่อง ท่านมีวีธีอื่นไหมคะ ?



คำถามคือ ..
= เราจะรับค่าของ Textbox ที่ผู้ใช้ป้อนเข้ามา แล้วเอาไปเก็บที่ฐานข้อมูลได้ยังไงคะ
ไม่ทราบคำสั่งและวิธีเอาข้อมูลไปเก็บเลบ

- ก็รับเข้ามาเหมือนที่เอามาเปรียบเทียบนั่นแหละ ส่วนการติดต่อ access นั้น vb6 ก็ใช้ ado นั่นแหละ ไม่มีทางเลือกอยู่แล้ว
เทคโนโลยีเก่าขนาดนั้น ก็สร้าง connection ก่อน จากนั้นก็สร้าง command แล้วก็ bind parameter แล้ว execute

เรื่องของการสร้าง connection จะไปศึกษาเพิ่มนะคะ ไม่ทราบมาก่อนเลยจริงๆ ขออภัยค่ะ
ของเราเป็นการเริ่มศึกษาจาก 0 อย่างที่บอกว่าสามวันเราไม่ทราบเท่าคุณหรอกค่ะ
ไม่งั้นคงไม่มาตั้งกระทู้โง่ๆถาม




= เมื่อเราป้อนข้อมูล แล้วกดบันทึก เราจะสามารถทดสอบได้อย่างไรว่า ข้อมูลนั้นบันทึกแล้วจริงๆ
(เคยคิดจะทดสอบใน Excel แต่ไม่เป็นเลยจริงๆ โง่มาก )

- เป็น access ก็เอา .mdb มาเปิดดูสิ

ตามที่บอกด้านบน
Access เราเปิดไม่ได้ในเครื่อง เนื่องจากไม่มีโปรแกรมตัวนี้ ถึงจะลงไปก็ลงไม่ได้เพราะพาสแอดมิน
จึงใช้วิธีเรียกดูผ่าน Textbox เอาอีกรอบ



ปล. จริงๆ น่าจะเอาครูมาปรับทัศนคตินะ สอนไปได้ไง vb6 เขาเลิกพัฒนาจะ 20 ปีอยู่แล้ว ไม่ได้ติดตามเทคโนโลยีเลย

แล้วจะสอน it ได้ไง ตัวเองยังตามเทคโนโลยีไม่ทันเลย


คงเป็นเพราะข้อจำกัดของบริษัทด้านการเงินละมั้งคะ ลิขสิทธิ์แพงขนาดนี้ใครเค้าจะเปลี่ยนบ่อยๆ
เอ่อ ถ้าคุณไม่ต้องการที่จะตอบทีหลังก็ไม่ต้องตอบก็ได้นะคะ ข้ามผ่านไปเลยจ่ะ ไม่ได้บังคับ

ขอบคุณสำหรับคำตอบของคุณค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-12 16:45:54 By : pemneeat
 


 

No. 7



โพสกระทู้ ( 7 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : lamaka.tor เมื่อวันที่ 2016-05-12 16:23:42
รายละเอียดของการตอบ ::

เรียนคุณ TOR_CHEMISTRY
คำแนะนำดีมากค่ะ
โดยเฉพาะ Link สุดท้าย
ดิฉันลองนำไปประยุกต์ใช้ดูแล้ว ใกล้เคียงค่ะ

อยากกดขอบคุณให้อีกครั้ง แต่ต้องรอพรุ่งนี้

ขอบคุณมากๆเลยค่ะ ^^

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-12 16:48:24 By : pemneeat
 


 

No. 8

Guest


ถ้าใช้ VB6 และ Connect แบบ ADO ลองใช้แบบนี้ครับ
สมมุตชื่อที่เก็บข้อมูลลงในตาราง ว่า Person_Collect

Code (VB.NET)
Sub Save_Data ()
  Dim A, B As String

  if PT1.text = "" then
   Msgbox "กรุณาป้อน เลขที่ ID"
    pt1.setfocus
  exit sub
end if

if PT2.text = "" then
   Msgbox "กรุณาป้อนชื่อ นามสกุล"
    pt2.setfocus
    exit sub
end if

  A = PT1.Text
  B = PT2.Text


  With Person_Collect
     .Addnew
     .P_ID = A
     .P_Name = B
     .Update
  End with

   PT1.Text = ""
   PT2.Text = ""
   PT1.set focus

End Sub


ลองดูนะครับ ขอให้โปรแกรมของคุณประสพความสำเร็จนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-12 19:48:00 By : ละอ่อน
 


 

No. 9



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


A & B <> "" อันนี้ใช้ได้ครับ ไม่ผิด ไวยกรณ์ แต่ ต้อง รู้ priority ของ operand ว่า ตัวไหนสำคัญกว่า
กระทำตัวไหนก่อนหลัง ถ้าจะให้ดี ใส่วงเล็บครอบ ไว้จะชัดเจนครับ
A & (B<>"")
(A & B) <>""
(A>"") & (B>"") ผมเดาว่าคงต้องการแบบนี้


delphi 7 ถึงจะเก่าไปบ้าง แต่ยังใช้งานได้ดีอยู่เลย

แต่ผมใช้ rad studio xe8 ว่าจะหา xe10 มาใช้ซักหน่อย
แล้วทำไมไม่ใช้ delphi7 เขียนโปรแกรมล่ะครับ
หรือโดนบังคับ 55555
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-12 20:24:18 By : Chaidhanan
 


 

No. 10



โพสกระทู้ ( 7 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 8 เขียนโดย : ละอ่อน เมื่อวันที่ 2016-05-12 19:48:00
รายละเอียดของการตอบ ::
ขอบคุณสำหรับคำแนะนำและโค้ดดีๆนะคะ
เป็นแนวทางได้เยอะเลย

ขอบคุณอีกครั้งค่ะ ^^

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-12 20:39:52 By : pemneeat
 


 

No. 11

Guest


เพิ่มเติมนะครับ ไม่ว่าคุณจะใช้โปรแกรมเก่าแก่ หรือหลาย ๆ คนบอกว่าล้าสมัยแล้วก็ตาม หากโปรแกรมนั้นสามารถแก้ไขปัญหา
หรือ ทำงานได้ดี ใช้งานง่าย ดูแลรักษาง่าย ในหน่วยงานของคุณ ก็ไม่จำเป็นที่จะต้องไปใช้โปรแกรมใหม่ ๆ ให้ยุ่งยากหรอกครับ
VB 6.0 นั้น ไม่เลวทีเดียว พัฒนาง่าย controls , tools ต่าง ๆ มี Event ให้เลือกใช้มากมาย สามารถใช้ในระบบเครือข่ายภายใน
(แลน) ได้เป็นอย่างดีครับ และถ้าคุณมีพื้นฐานจาก VB 6.0 แล้ว คุณจะขึ้นมาเขียนโปรแกรมบน WEB ได้ไม่ยากครับ เพราะพื้นฐาน
เดียวกัน ภาษาที่ใช้ก็ใกล้เคียงกันมากครับ ...

ขอให้โปรแกรมของคุณประสพผลสำเร็จนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-12 20:40:08 By : ละอ่อน
 


 

No. 12



โพสกระทู้ ( 7 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 9 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-05-12 20:24:18
รายละเอียดของการตอบ ::
พอดีเป็นไฟท์บังคับคะ ^^
ถ้าเป็นเดลไฟจะไม่ง้อ Code เลย
วาง Component set properties อย่างเดียวสบายๆ

เพิ่งทราบว่าเงื่อนไขเป็นแบบนี้ แฮ่ๆ ><
ขอบคุณมากๆเลยค่ะ
จะนำไปปรับใช้นะคะ ^^

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-12 20:41:46 By : pemneeat
 


 

No. 13



โพสกระทู้ ( 7 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 11 เขียนโดย : ละอ่อน เมื่อวันที่ 2016-05-12 20:40:08
รายละเอียดของการตอบ ::
ขอบคุณ คุณละอ่อนมากค่ะ
^^

ดิฉันเดิมแล้วถนัดเดลไฟมากกว่า
แต่ VB นี่เป็นอะไรที่ใหม่มาก แม้คนอื่นจะมองว่าเก่าไปละ
คงเพราะเริ่มจับ เริ่มหัดมั้งคะ
คิดว่าจะศึกษาต่อไปเรื่อยๆละค่ะ
โหมดบังคับ ต้องทำให้เป็น

ขอบคุณสำหรับคำแนะนำจ้า ^^

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-12 20:45:38 By : pemneeat
 


 

No. 14

Guest


ก็ไม่ได้รังเกียจอะไร vb6 นักหรอก

แต่ไหนๆ จะศึกษาแล้ว ทำไมไปเริ่มที่เทคโนโลยีที่ตายแล้วล่ะ ???

ปล.ถ้าทำ database server ไม่ได้ แถมไม่มี access อีก ไม่ลองเป็น sqlite ดูล่ะ

แต่ไม่น่าจะใช้กับ vb6 ได้นะ หรือไม่ก็น่าจะมองเป็น vb.net หรืออย่างอื่นก็ได้

อย่างเคยใช้ delphi มาก่อน น่าจะลอง python (gui) ดูเพราะแนวทางเขียนจะคล้ายๆ delphi

ตรงมันใช้ space ใช้ tab ในการจบ syntax

ที่พล่ามมาทั้งหมดนี้ ไม่ต้องเสียเงินซักบาท รับรองได้ว่าบริษัทไม่ต้องลงทุนเพิ่ม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-13 14:12:32 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 15

Guest


ตอบความคิดเห็นที่ : 14 เขียนโดย : ห้ามตอบเกินวันละ 2 กระทู้ เมื่อวันที่ 2016-05-13 14:12:32
รายละเอียดของการตอบ ::


ขอบคุณทุกความคิดเห็นที่ ช่วยเหลือในด้านโปรแกรมค่ะ
เคยไปประกาศหาคนเขียนให้แต่ไม่ต้องแล้วค่ะ ..
ตอนนี้เขียนโปรแกรมเองเสร็จแล้วทั้งหมด
ขอบคุณความเห็นทุกหมายเลข ค่ะ
ดิฉันไม่มีเจตนาจะดราม่าบ้าบอ
ก็เป็นเรื่องของบุคคลที่เขาต้องการจะศึกษาอะไร
และจะจบกระทู้ไว้ตรงนี้ ใครอยากดิ้นอะไรก็เชิญ


ส่วนคุณ ใช้ล็อคอินตัวเองสิคะ อย่าได้แค่เห่าในชื่อของ Guest
ฉันไมุ่ร้ว่าคุณเป็นใครและไม่สนใจที่จะสนทนาด้วย
เพราะฉะนั้น มาทางไหนไปทางนั้นค่ะ
Go to Hell ไปเลยก็ดีค่ะ
ไม่ต้องแนะนำอะไรทั้งนั้นแล้วค่ะ ฉันไม่ต้องการความเห็นจากคนอย่างคุณ
จบตรงนี้นะ
Bye!


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-17 12:20:56 By : pain
 


 

No. 16

Guest


เฮ้ยๆ เราว่าเราแนะนำดีๆ นะ

มันมีดราม่าตรงไหนด้วยเหรอ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-17 14:32:30 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 17

Guest


@ คุณห้ามตอบเกินวันละ 2 กระทู้

วลีนี้ "สาวจีนถกกระโปรงนั่งอึหน้ารถไฟฟ้าไม่อายใคร"

x_00_00


ปล. สนใจอะไรกับผู้หญิงสวยฯแต่นั่งขี้ในที่สาธารณะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-17 20:37:05 By : หน้าฮี
 


 

No. 18

Guest


@Pain สุดยอดโปรแกรมเมอร์

โปรแกรมเหี้ยอะไรใช้เวลาเพียงไม่กี่เพลา
จาก 2016-05-12 12:34:05 ถึง 2016-05-17 12:20:56

ผมใช้ VB และใช้เวลาเขียนมากกว่า 20 ปี มันยังไม่เสร็จแม้แต่โปรแกรมเดียว

ปล. ไม่มี
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-17 20:55:40 By : หน้าฮี
 


 

No. 19

Guest


จาก #NO18 ผมลืมคำสงสัยว่า "เสร็จจริงหรือเปล่า?"

finished_01
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-17 21:10:42 By : หน้าฮี
 


 

No. 20

Guest


โบราณบอกว่า "พี่รู้สอง น้องรู้หนึ่ง" เอามารวมกันก็ได้ 3 ครับ อย่าต่อว่าต่อขานกันเลย เอาความรู้มาบอก มาแลกเปลี่ยนกันดีกว่าครับ
ในที่นี้ระดับเทพกันทั้งนั้น จริง ๆ แล้ว จากการที่ได้ร่ำเรียนมาเกี่ยวกับการเขียนโปรแกรมนั้น อาจารย์ท่านย้ำเสมอว่า จะทำอย่างไรก็ได้
ให้โปรแกรมออกมาใช้งานได้ตามวัตถุประสงค์ ใช้โปรแกรมอะไรก็ได้ ที่ง่ายต่อการพัฒนา ใข้ระยะเวลาไม่นานนัก... ให้ใช้โปรแกรมอื่น ๆ ช่วย เช่นกันครับ ไม่ว่าโปรแกรมนั้นจะเก่าแก่เช่นไร หากใข้งานได้ตามวัตถุประสงค์ ก็ถือว่าประสพผลสำเร็จแล้ว ผมยังเห็นธนาคารบางธนาคาร
ยังใช้โปรแกรมที่เขียนด้วย Dos อยู่เลยครับทุกวันนี้ นี่เป็นเรื่องจริงครับ ผมเคยถามเขาว่า ทำไมไม่เปลี่ยนไปใช้ Windows เขาก็ตอบว่า
ก็โปรแกรมมันยังใช้งานได้ดี เร็ว ไม่มี Error ผมก็เลยอึ้งกิมกี่ไปเลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-18 19:29:20 By : ละอ่อน
 


 

No. 21

Guest


Quote:
โบราณบอกว่า "พี่รู้สอง น้องรู้หนึ่ง" เอามารวมกันก็ได้ 3 ครับ อย่าต่อว่าต่อขานกันเลย เอาความรู้มาบอก มาแลกเปลี่ยนกันดีกว่าครับ
ในที่นี้ระดับเทพกันทั้งนั้น จริง ๆ แล้ว จากการที่ได้ร่ำเรียนมาเกี่ยวกับการเขียนโปรแกรมนั้น อาจารย์ท่านย้ำเสมอว่า จะทำอย่างไรก็ได้
ให้โปรแกรมออกมาใช้งานได้ตามวัตถุประสงค์ ใช้โปรแกรมอะไรก็ได้ ที่ง่ายต่อการพัฒนา ใข้ระยะเวลาไม่นานนัก... ให้ใช้โปรแกรมอื่น ๆ ช่วย เช่นกันครับ ไม่ว่าโปรแกรมนั้นจะเก่าแก่เช่นไร หากใข้งานได้ตามวัตถุประสงค์ ก็ถือว่าประสพผลสำเร็จแล้ว ผมยังเห็นธนาคารบางธนาคาร
ยังใช้โปรแกรมที่เขียนด้วย Dos อยู่เลยครับทุกวันนี้ นี่เป็นเรื่องจริงครับ ผมเคยถามเขาว่า ทำไมไม่เปลี่ยนไปใช้ Windows เขาก็ตอบว่า
ก็โปรแกรมมันยังใช้งานได้ดี เร็ว ไม่มี Error ผมก็เลยอึ้งกิมกี่ไปเลยครับ



อาจารย์ท่านย้ำเสมอว่า == สามัญชน




สามัญชนผูกพันธ์กันด้วยผลประโยชน์ เหตุดังนี้จึงมากมายคล้ายเมรัย
นักปราชญ์ผูกพันธ์กันด้วยคุณธรรม เหตุดังนี้จึงอ่อนโยนคล้ายสายวารี
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-25 11:14:56 By : หน้าฮี
 


 

No. 22



โพสกระทู้ ( 70 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

ตอบความคิดเห็นที่ : 20 เขียนโดย : ละอ่อน เมื่อวันที่ 2016-05-18 19:29:20
รายละเอียดของการตอบ ::




แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-26 11:20:41 By : weerachai.va
 


 

No. 23

Guest


@ละอ่อน, weerachai.va

ผมเติบโตมาจาก DOS แต่อาจารย์ของพวกคุณเติบโตมาจาก Windows

ง่ายฯ ดูที่ผมขาวหงอกไม่จำเป็นต้องบอกวัยอายุ


วันพรุ่งนี้ (26/05/2559 10.00 - 12.00 AM) ผมใช้เวลาแค่ 2 ชั่วโมงก็หาเงินได้ 6,000 บาท
ตอนเย็นผมก็กลับบ้าน หอมแก้มภรรยา (เมีย) --> สวดมนต์ และเข้านอน (กระซิบข้างหูภรรยาว่า วันนี้ผมหาเงินได้ 1,500 บาท)
ผมมั่นใจในสิ่งที่จะได้ยินว่า (ขอบคุณค่ะ งั้นหนูแบ่งให้พี่เอาไว้ใช้ 100 บาท) +55555


ปล. ผมมักจะพูดความจริงเพียงครึ่งเดียวสำหรับคนที่ผมรัก สำหรับคนอื่นผมไม่อยากให้เขารู้จักคำว่า "โกหก"



เดี๋ยวจะหาว่ามั่ว

& ในภาษา VB == + ในภาษาอื่นฯ แต่มีข้อแตกต่างเล็กฯน้อย เช่น

Code (VB.NET)
Dim i As Integer = 1
Dim s As String = "Hello World"

MsgBox(i & s) 'ผลลัพธ์  จะเท่ากับ 1Hello World




ความละเอียดอ่อนมันแตกต่างกัน แค่เสี้ยววินาทีเราไม่ควรจะมองข้าม

Code (VB.NET)
'หาเวลาสิ้นสุด ณ.สิ้นวันของแต่ละ RDBMS
'เพื่อค้นหาบนเงื่อนไข Where DocDate Between '2015-01-01' And x & ' 2015-01-01 23:59'
''' <summary>
''' 
''' </summary>
''' <param name="RDBMSType"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function OffsetEnddateTime(Optional ByVal RDBMSType As String = "SQLite") As String
    Dim strRet As String = " 23:59:59"
    Select Case RDBMSType
        Case "Oracle"
        Case "FireBird", "MSSql"
            strRet = " 23:59"
            'Case Else
            'SQlite
    End Select
    Return strRet
End Function


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-26 15:10:31 By : หน้าฮี
 


 

No. 24

Guest


ยกตัวอย่าง มันมีด้วยหรือคำว่า "เทพ" มันก็มีแต่เทวดาเดินดินทั้งนั้น
เป็นเสืออยู่อีกป่าอาจจะเป็นหมาอีกป่าหนึ่งก็อาจเป็นไปได้เหมือนกัน


เงื่อนไขมันมาจากหน้าจอ Filter
Code (VB.NET)
    'รายงานทางบัญชี สต๊อคการ์ด (IC_B4_02xIC_21) 
    'OrgCode = OrgName/OrgNameUS/etc
    'PARTHIST.PROCESS_SEQ = 60-รับ, 100-จ่าย
    'SQLite Date String Format 
    'yyyy-MM-dd HH:MM:SS.SSS

    Public Shared Function IC_B4_02xIC_21(ByVal Warehouse As String,
                                          ByVal From_Part_NO As String,
                                          ByVal To_Part_NO As String,
                                          ByVal From_Date As String,
                                          ByVal To_Date As String,
                                          ByVal OrgCode As String) As DataTable
        Dim strSQL As XCData = Nothing
        'Dim xFrom_Date As String = WL_Utility.DateUtils.GetFirstDayOfMonth(ZMonth, Zyear).ToString("yyyy/MM/dd") '2014-01-01
        'Dim xTo_Date As String = WL_Utility.DateUtils.GetLastDayOfMonth(ZMonth, Zyear).ToString("yyyy/MM/dd 23:59:59") '2014-01-01 23:59
        'SQL Server DateAdd(day, -30, GETDATE())
        'SQLite SELECT DATE('NOW','-30 day')
        'Firebird CAST('TODAY' AS TIMESTAMP) - 30
        Dim curDateDec30 As String = If(RDBMSType = "Firebird", "CAST('TODAY' AS TIMESTAMP) - @P_Cycle_NO", If(RDBMSType = "SQLite", "DATE('NOW','-@P_Cycle_NO day')", "Not Implement yet."))

        Select Case (WL_Common.PubConstant.RDBMSType)
            Case "MsAccess"
                'Not Implement yet.
            Case Else
                strSQL =
<![CDATA[
SELECT 'HED' AS REP_GROUP, WHS_BAL.WAREHOUSE, WHS_BAL.PART_NO, 'AAAAAAAA' AS DOC_NO, '  ' AS SEQ, CAST('3/3/2014' AS TIMESTAMP) AS DOC_DATE, CAST('00' AS INTEGER) AS PROCESS_SEQ, 
       'AA' AS TRAN_CODE, 'AAA' AS TRAN_TYPE, MIN(WHS_STAT.BEGIN_BAL) AS BEGIN_BAL, MIN(WHS_STAT.BEG_AMT) AS BEG_AMT, SUM(HIS_STAT.REC_QTY) AS REC_QTY, 
       SUM(HIS_STAT.ISS_QTY) AS ISS_QTY, SUM(HIS_STAT.ADJ_INC) AS ADJ_INC, SUM(HIS_STAT.ADJ_DEC) AS ADJ_DEC, 0.00 AS TRAN_QTY, 0.00 AS TRAN_QTYSORT, 
       SUM(HIS_STAT.TRAN_AMT) AS TRAN_AMT, '0' AS POST_FLAG, MIN(WHS_BAL.ACCODE) AS ACCODE, MIN(AC_TAB.ACCOUNT_NO) AS ACCOUNT_NO, MIN(UM_TAB.UM) AS UM, 
       MIN(UM_TAB.UM_DESC) AS UM_DESC, MIN(WHS_BAL.PART_DESC) AS PART_DESC, 0.00 AS UNIT_COST, (
		SELECT MIN(WHS_TAB.WHS_DESC)
		FROM WHS_TAB
		WHERE WHS_TAB.WAREHOUSE = WHS_BAL.WAREHOUSE
			AND WHS_TAB.STK_LOCATION = (
				SELECT MIN(WHB.STK_LOCATION)
				FROM WHS_TAB WHB
				WHERE WHB.WAREHOUSE = WHS_BAL.WAREHOUSE
				)
		) AS WHS_DESC, (
		SELECT MIN(TRAN_DESC)
		FROM PARTHIST
		WHERE 1 <> 1
		) AS TRAN_DESC, MIN(REP1.NOTE) AS NOTE, MIN(REP2.NOTE) AS NOTE2, CAST('0' AS NUMERIC(15, 2)) AS HDL_TRAN_QTY, CAST('0' AS NUMERIC(15, 2)) AS HDL_UNIT_COST
FROM WHS_BAL
LEFT JOIN WHS_STAT ON WHS_BAL.WAREHOUSE = WHS_STAT.WAREHOUSE AND WHS_BAL.PART_NO = WHS_STAT.PART_NO AND WHS_STAT.ZYEAR = '57' AND WHS_STAT.PERIOD = '3'
LEFT JOIN HIS_STAT ON WHS_BAL.WAREHOUSE = HIS_STAT.WAREHOUSE AND WHS_BAL.PART_NO = HIS_STAT.PART_NO AND HIS_STAT.DOC_DATE < '3/1/2014'
LEFT JOIN AC_TAB ON WHS_BAL.WAREHOUSE = AC_TAB.WAREHOUSE AND WHS_BAL.ACCODE = AC_TAB.ACCODE
LEFT JOIN PART_STD ON WHS_BAL.PART_NO = PART_STD.PART_NO
LEFT JOIN UM_TAB ON PART_STD.UM = UM_TAB.UM
LEFT JOIN (SELECT @COMPANY AS NOTE) AS REP1 ON 1=1 
LEFT JOIN REP REP2 ON REP2.ID = 'LAST_POST' 
WHERE WHS_BAL.WAREHOUSE = @Warehouse AND WHS_BAL.PART_NO BETWEEN @From_Part_NO AND @To_Part_NO 
GROUP BY WHS_BAL.WAREHOUSE, WHS_BAL.PART_NO

UNION ALL

SELECT 'DET' AS REP_GROUP, PARTHIST.WAREHOUSE, PARTHIST.PART_NO, PARTHIST.DOC_NO, PARTHIST.SEQ, PARTHIST.DOC_DATE, PARTHIST.PROCESS_SEQ, PARTHIST.TRAN_CODE, 
        PARTHIST.TRAN_TYPE, 0.00 AS BEGIN_BAL, 0.00 AS BEG_AMT, 0.00 AS REC_QTY, 0.00 AS ISS_QTY, 0.00 AS ADJ_INC, 0.00 AS ADJ_DEC, PARTHIST.TRAN_QTY, CASE 
		WHEN ABS(PARTHIST.TRAN_QTY) > 0
			THEN (PARTHIST.TRAN_QTY / (ABS(PARTHIST.TRAN_QTY)))
		ELSE 0
		END AS TRAN_QTYSORT, PARTHIST.TRAN_AMT, PARTHIST.POST_FLAG, WHS_BAL.ACCODE, AC_TAB.ACCOUNT_NO, UM_TAB.UM, UM_TAB.UM_DESC, WHS_BAL.PART_DESC, PARTHIST.UNIT_COST, (
		SELECT MIN(WHS_TAB.WHS_DESC)
		FROM WHS_TAB
		WHERE WHS_TAB.WAREHOUSE = WHS_BAL.WAREHOUSE
			AND WHS_TAB.STK_LOCATION = (
				SELECT MIN(WHB.STK_LOCATION)
				FROM WHS_TAB WHB
				WHERE WHB.WAREHOUSE = WHS_BAL.WAREHOUSE
				)
		) AS WHS_DESC, PARTHIST.TRAN_DESC, REP1.NOTE AS NOTE, REP2.NOTE AS NOTE2, CAST('0' AS NUMERIC(15, 2)) AS HDL_TRAN_QTY, CAST('0' AS NUMERIC(15, 2)) AS HDL_UNIT_COST
FROM WHS_BAL
LEFT JOIN PARTHIST ON WHS_BAL.WAREHOUSE = PARTHIST.WAREHOUSE AND WHS_BAL.PART_NO = PARTHIST.PART_NO AND PARTHIST.DOC_DATE BETWEEN '3/1/2014' AND '3/3/2014 23:59'
LEFT JOIN AC_TAB ON WHS_BAL.WAREHOUSE = AC_TAB.WAREHOUSE AND WHS_BAL.ACCODE = AC_TAB.ACCODE
LEFT JOIN PART_STD ON WHS_BAL.PART_NO = PART_STD.PART_NO
LEFT JOIN UM_TAB ON PART_STD.UM = UM_TAB.UM
LEFT JOIN (SELECT @COMPANY AS NOTE) AS REP1 ON 1=1
LEFT JOIN REP REP2 ON REP2.ID = 'LAST_POST'
WHERE WHS_BAL.WAREHOUSE = 'CKM' AND WHS_BAL.PART_NO BETWEEN 'A' AND 'Z'

UNION ALL

SELECT 'DET' AS REP_GROUP, PARTHIST.WAREHOUSE, PARTHIST.PART_NO, PARTHIST.DOC_NO, PARTHIST.SEQ, PARTHIST.DOC_DATE, PARTHIST.PROCESS_SEQ, PARTHIST.TRAN_CODE, PARTHIST.TRAN_TYPE, 0.00 AS BEGIN_BAL, 0.00 AS BEG_AMT, 0.00 AS REC_QTY, 0.00 AS ISS_QTY, 0.00 AS ADJ_INC, 0.00 AS ADJ_DEC, PARTHIST.TRAN_QTY, CASE 
		WHEN ABS(PARTHIST.TRAN_QTY) > 0
			THEN (PARTHIST.TRAN_QTY / (ABS(PARTHIST.TRAN_QTY)))
		ELSE 0
		END AS TRAN_QTYSORT, PARTHIST.TRAN_AMT, PARTHIST.POST_FLAG, WHS_BAL.ACCODE, AC_TAB.ACCOUNT_NO, UM_TAB.UM, UM_TAB.UM_DESC, WHS_BAL.PART_DESC, PARTHIST.UNIT_COST, (
		SELECT MIN(WHS_TAB.WHS_DESC)
		FROM WHS_TAB
		WHERE WHS_TAB.WAREHOUSE = WHS_BAL.WAREHOUSE
			AND WHS_TAB.STK_LOCATION = (
				SELECT MIN(WHB.STK_LOCATION)
				FROM WHS_TAB WHB
				WHERE WHB.WAREHOUSE = WHS_BAL.WAREHOUSE
				)
		) AS WHS_DESC, PARTHIST.TRAN_DESC, REP1.NOTE AS NOTE, REP2.NOTE AS NOTE2, CASE 
		WHEN (- HDL.TRAN_QTY) > 0
			THEN CAST((- HDL.TRAN_QTY) AS NUMERIC(15, 2))
		ELSE 0
		END AS HDL_TRAN_QTY, CASE 
		WHEN HDL.UNIT_COST > 0
			THEN CAST(HDL.UNIT_COST AS NUMERIC(15, 2))
		ELSE 0
		END AS HDL_UNIT_COST
FROM WHS_BAL
LEFT JOIN PARTHIST ON WHS_BAL.WAREHOUSE = PARTHIST.WAREHOUSE AND WHS_BAL.PART_NO = PARTHIST.PART_NO AND PARTHIST.DOC_DATE BETWEEN '3/1/2014' AND '3/3/2014 23:59'
LEFT JOIN HIS_DTL HDL ON HDL.WAREHOUSE = PARTHIST.WAREHOUSE AND HDL.DOC_DATE = PARTHIST.DOC_DATE AND HDL.DOC_NO = PARTHIST.DOC_NO AND HDL.SEQ = PARTHIST.SEQ
LEFT JOIN AC_TAB ON WHS_BAL.WAREHOUSE = AC_TAB.WAREHOUSE AND WHS_BAL.ACCODE = AC_TAB.ACCODE
LEFT JOIN PART_STD ON WHS_BAL.PART_NO = PART_STD.PART_NO
LEFT JOIN UM_TAB ON PART_STD.UM = UM_TAB.UM
LEFT JOIN (SELECT @COMPANY AS NOTE) AS REP1 ON 1=1
LEFT JOIN REP REP2 ON REP2.ID = 'LAST_POST'
WHERE WHS_BAL.WAREHOUSE = 'CKM' AND HDL.UNIT_COST > 0 AND (- HDL.TRAN_QTY) > 0 AND WHS_BAL.PART_NO BETWEEN 'A' AND 'Z'
ORDER BY 2, 3, 6, 7, 4, 5       
]]>
        End Select
        Return X_DatabaseVB.DbHelper.Query(strSQL.Value, New List(Of DbParameter) From
                                                                     {
                                                                      BuildParameter("@From_Date", From_Date),
                                                                      BuildParameter("@To_Date", To_Date),
                                                                      BuildParameter("@Tran_Code", Warehouse),
                                                                      BuildParameter("@Warehouse", Warehouse)
                                                                     })
    End Function

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-26 15:36:23 By : หน้าฮี
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามผู้รู้ Visual Basic 6.0 เรื่อง Control Textbox และ Connect Database ค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่