ProjectForStudy

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 61|ตอบกลับ: 5

[ถาม/ตอบ] ตรวจสอบ Code autonumber ให้หน่อยครับ มันไม่ยอมเพิ่มให้ vb.net+access

[คัดลอกลิงก์]
  • อารมณ์วันนี้
    โกรธ
    เมื่อวาน 00:38
  • เช็คชื่อแล้ว: 81 วัน

    [LV.6]JuniorII

    21

    กระทู้

    109

    โพสต์

    78

    เครดิต

    BabyGhost

    Rank: 1

    เครดิต
    78
    Ticket
    26
    จิตพิสัย
    52
    1. Sub auto_id()
    2.         Dim sqlTmp As String = ""
    3.         Dim comTmp As OleDbCommand = New OleDbCommand
    4.         Dim drTmp As OleDbDataReader
    5.         Dim tmpMember_id As Integer = 0

    6.         sqlTmp = "SELECT max(id) FROM customer "

    7.         Try
    8.             With comTmp
    9.                 .CommandType = CommandType.Text
    10.                 .CommandText = sqlTmp
    11.                 .Connection = cn

    12.                 drTmp = .ExecuteReader
    13.                 drTmp.Read()
    14.                 tmpMember_id = CInt(drTmp.Item("id"))
    15.                 drTmp.Close()
    16.                 tmpMember_id = tmpMember_id + 1

    17.                 txt_id.Text = tmpMember_id.ToString("1")
    18.             End With

    19.         Catch ex As Exception
    20.             txt_id.Text = "1"
    21.         End Try
    22.     End Sub
    คัดลอกไปที่คลิปบอร์ด
    ในฐานข้อมูล (Access) ไปถึง 3 แล้ว แต่ที่โปรแกรมทำยังไงก็เป็นนับ 1 เหมือนเดิมตลอดครับ ไม่ทราบว่าโค๊ดผิดตรงไหน แล้วต้องแก้ยังไงครัล
  • อารมณ์วันนี้
    สู้
    9 ชั่วโมงที่แล้ว
  • เช็คชื่อแล้ว: 199 วัน

    [LV.7]JuniorIII

    14

    กระทู้

    366

    โพสต์

    837

    เครดิต

    TeenLion

    Rank: 3Rank: 3

    เครดิต
    837
    Ticket
    289
    จิตพิสัย
    548
    anuyutza1995 โพสต์ 2019-6-7 14:29:10 | ดูโพสต์ทั้งหมด
    ลองเอา try ออกสิครับ แล้วดู error เกิดจากอะไรนะครับ
  • อารมณ์วันนี้
    โกรธ
    เมื่อวาน 00:38
  • เช็คชื่อแล้ว: 81 วัน

    [LV.6]JuniorII

    21

    กระทู้

    109

    โพสต์

    78

    เครดิต

    BabyGhost

    Rank: 1

    เครดิต
    78
    Ticket
    26
    จิตพิสัย
    52
     เจ้าของ| mpv602 โพสต์ 2019-6-7 14:50:41 | ดูโพสต์ทั้งหมด
    anuyutza1995 ตอบกลับเมื่อ 2019-6-7 14:29
    ลองเอา try ออกสิครับ แล้วดู error เกิดจากอะไรนะครับ

    ขอบคุณมากครับ ติดที่ไม่ได้ใส่ connect ครับ
    แต่มันยังมีที่ติดอยู่ครับ รบกวนเช็คให้หน่อยครับ

    ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

    คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? ลงทะเบียน

    x
  • อารมณ์วันนี้
    สู้
    9 ชั่วโมงที่แล้ว
  • เช็คชื่อแล้ว: 199 วัน

    [LV.7]JuniorIII

    14

    กระทู้

    366

    โพสต์

    837

    เครดิต

    TeenLion

    Rank: 3Rank: 3

    เครดิต
    837
    Ticket
    289
    จิตพิสัย
    548
    anuyutza1995 โพสต์ 2019-6-8 08:26:33 | ดูโพสต์ทั้งหมด
    แก้ไขครั้งสุดท้ายโดย anuyutza1995 เมื่อ 2019-6-8 08:31

  • อารมณ์วันนี้
    ไร้อารมณ์
    เมื่อวานซืน 14:56
  • เช็คชื่อแล้ว: 90 วัน

    [LV.6]JuniorII

    24

    กระทู้

    117

    โพสต์

    428

    เครดิต

    CodeDragon

    Rank: 2

    เครดิต
    428
    Ticket
    217
    จิตพิสัย
    211
    MisterPee โพสต์ 2019-6-9 14:16:12 | ดูโพสต์ทั้งหมด
    ตรวจสอบ ค่า  drTmp อันนี้ก่อน ว่ามีจำนวนเท่าไหร่ หรือ เป็นค่าว่างหรือเปล่า
    ถ้าเอาใช้แบบนี้ tmpMember_id = CInt(drTmp.Item("id")) เลย โอกาสผิดผลาดมีมาก
    ในกรณีไม่พบข้อมูลตามเงื่อนไขนั้นๆ จะ Error แบบที่เห็นครับ
  • อารมณ์วันนี้
    แฮปปี้
    9 ชั่วโมงที่แล้ว
  • เช็คชื่อแล้ว: 278 วัน

    [LV.8]ConquerorI

    25

    กระทู้

    597

    โพสต์

    2055

    เครดิต

    HawkBrain

    Rank: 4

    เครดิต
    2055
    Ticket
    1238
    จิตพิสัย
    817

    Merciful MemberInstructor

    puklit โพสต์ 2019-6-9 19:38:16 | ดูโพสต์ทั้งหมด
    mpv602 ตอบกลับเมื่อ 2019-6-7 14:50
    ขอบคุณมากครับ ติดที่ไม่ได้ใส่ connect ครับ
    แต่มันยังมีที่ติดอยู่ครับ รบกวนเช็คให้หน่อยครับ

    ท่านลองดูรายละเอียดตามในกระทู้ที่ผมเคยตอบเอาไว้ครับ
    http://www.projectforstudy.com/forum.php?mod=viewthread&tid=1799&extra=page%3D1%26filter%3Dtypeid%26typeid%3D21

    Sale_id
    กรณีไม่มีข้อมูลในเดือนนั้น ค่าที่ได้ = Null
    กรณีที่มีข้อมูลในเดือนนั้น ค่าที่ได้ = จะได้ค่าไอดีสูงสุดที่มีอยู่

    หรือถ้า Database ท่านเป็น sql server อยู่แล้วสามารถเขียนเป็น Storage procedures
    ตามลิ้งค์นี้ได้ ผมเคยเขียนเอาไว้ #29
    เพียงแค่ส่งค่าพารามิเตอร์จากโปรแกรมที่เราเขียนให้ Database จัดการบันทึกของมันเอง
    http://www.projectforstudy.com/forum.php?mod=viewthread&tid=8&page=3#pid25154


    สุดท้ายการใช้ Try Catch สุดของท่านยังใช้งานไม่ถูกต้องครับ ตามที่ท่าน MisterPee  ได้แนะนำไปครับ
    (คำสั่งใน Try) กรณีเจอค่า Null มันไม่ได้ไปทำงานที่ Catch ครับ มันจะ Error โค้ดในบรรทัดถัดไป เพราะท่านสั่งให้มัน + 1 ไว้
    ดังนั้นจะได้ Null + 1 = Error


    ลองดูโค้ดของผมตามลิ้งค์ข้างบนผม ดักค่า Null ก่อนนำไป + 1 ครับ

    ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

    รายละเอียดเครดิต

    ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|ProjectForStudy  

    GMT+7, 2019-6-25 17:16 , Processed in 0.094191 second(s), 26 queries .

    Powered by Discuz! X3.2 R20150609, Rev.38

    © 2001-2013 Comsenz Inc.

    ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้