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,036

HOME > .NET Framework > Forum > ความรู้เรื่องความสัมพันธ์ Microsoft Access + VB2010 ค่ะ



 

ความรู้เรื่องความสัมพันธ์ Microsoft Access + VB2010 ค่ะ

 



Topic : 095733



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



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




คือเรามีตารางทั้งหมด 3 ตารางคือตาราง สมาชิก ตารางฝาก ตารางถอน โดยแต่ละตารางเก็บข้อมูลดังภาพและสร้างความสัมพันธ์ดังภาพไม่รู้ว่าเราทำถูกไหมคะ

9

ถ้าหาเราอยากให้ TotalAmenity ที่ได้จากการคำนวนไปอัพเดทที่ตารางสมาชิก เราต้องทำยังไงคะ พอดีตอนนี้เรา insert ข้อมูลไปแล้วแต่ว่าข้อมูลมันยังไม่ไปอัพเดทที่ตารางสมาชิกค่ะ สอนเราหน่อยนะคะ



Tag : .NET, Ms Access, VS 2010 (.NET 4.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-05-27 15:59:34 By : borobirt View : 2907 Reply : 18
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

น่าจะใช้การเขียน Query เพื่อ Sum ค่า แทนดีหรือเปล่าครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 16:01:10 By : mr.win
 


 

No. 2



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



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


TotalAmenity เปลี่ยนเป็น Total นะคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 16:01:19 By : borobirt
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2013-05-27 16:01:10
รายละเอียดของการตอบ ::
ทำยังไงหรอคะ เราไม่ทราบวิธีเลยค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 16:13:54 By : borobirt
 


 

No. 4



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



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


เขียนไว้แบบไหนหรอครับ ข้อมูลถึงยังไม่ได้ไป UPDATE

ผมไม่รู้ว่าตอนนี้คุณคำณวน total ออกมาได้ยังถ้าได้แล้ว

ก็ ใช้ คำสั่ง SQL นี้ในการ UPDATE เข้าไป

UPDATE MemberID
SET total = " & ตัวแปรที่เก็บค่า total & "
WHERE Member_ID = "& ตัวแปรที่เก็บค่า ID ของสมาชิก &"

ปล INSERT คือการเพิ่มข้อมูลใหม่ UPDATE คือการแก้ไขข้อมูลเดิมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 16:25:01 By : CPU4Core
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : CPU4Core เมื่อวันที่ 2013-05-27 16:25:01
รายละเอียดของการตอบ ::
ขอบคุณสำหรับคำแนะนำดีๆ นะคะ เดี๋ยวถ้าได้หรือไม่ได้ยังไงจะกลับมาบอกนะคะ ^^

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 16:39:03 By : borobirt
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : CPU4Core เมื่อวันที่ 2013-05-27 16:25:01
รายละเอียดของการตอบ ::
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsave.Click

Try

Dim cmd As New OleDbCommand
cmd.Connection = conn
cmd.CommandText = "INSERT INTO Credit(Credit_ID, Member_ID, Crebit, Total, DateCR, Remark) VALUES ('" & txtCreID.Text & "','" & txtMemberID.Text & "','" & txtCredit.Text & "','" & txtTotal.Text & "','" & DateTimePicker1.Value.ToString("yyyy/MM/dd") & "','" & txtRemark.Text & "')"
With cmd
cmd.ExecuteNonQuery()
conn.Close()
End With
MsgBox("บันทึกข้อมูลเรียบร้อยแล้วค่ะ", vbOKOnly, "Save Data")

'***********************************************************************************************
Dim sqlADD As String
sqlADD = "UPDATE MemberID SET Total='" & Trim(txtTotal.Text) & "' WHERE Member_ID=" & Trim(txtMemberID.Text) & " "

Dim sqlcommand As New OleDbCommand
With sqlcommand
.CommandText = sqlADD
.Connection = conn
.ExecuteNonQuery()
End With
MsgBox("การแก้ไขข้อมูลของคุณเรียบร้อยแล้ว", vbOKOnly, "Edit Data")
txtMemberID.Text = ""
txtTitleN.Text = ""
txtName.Text = ""
txtLast.Text = ""



'Dim cn As New System.Data.OleDb.OleDbConnection(connstring)
'Dim da As New System.Data.OleDb.OleDbDataAdapter
'Dim ds As New DataSet
'Dim sql1 As String = "select * from Credit"
'da.SelectCommand = New System.Data.OleDb.OleDbCommand(sql1, cn)
'da.Fill(ds, "Credit")
'DataGridView1.DataSource = ds.Tables("Credit")




Catch ex As Exception
MsgBox(Err.Description)
End Try
End Sub

แบบนี้หรอคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 17:15:09 By : borobirt
 


 

No. 7



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



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


ตอน save แล้ว error ไหมครับ

ไล่ ๆ ดู code ไม่น่าจะ error นะครับ

ปล total นี่เป็น int หรือ text ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 17:28:00 By : CPU4Core
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : CPU4Core เมื่อวันที่ 2013-05-27 17:28:00
รายละเอียดของการตอบ ::
integer ค่ะ อันนี้คือ insert into ตาราง Credit แล้ว Update ตาราง MemberID นะคะ ติดตอน update อะค่ะ
6

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 17:47:42 By : borobirt
 


 

No. 9



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : CPU4Core เมื่อวันที่ 2013-05-27 17:28:00
รายละเอียดของการตอบ ::
นี่ลอง debug ดูนะคะมันบอก sqlAdd = Nothing
]99

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 17:55:50 By : borobirt
 


 

No. 10



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



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


ตาม error คือมีการไปปิด connection ก่อน ที่จะทำการ UPDATE ซึ่งตอนปิดนี้ไปปิดตอนทำการ INSERT เสร็จครับ

ลอง code นี้ครับ

Code (VB.NET)
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsave.Click

Try

Dim cmd As New OleDbCommand
cmd.Connection = conn
cmd.CommandText = "INSERT INTO Credit(Credit_ID, Member_ID, Crebit, Total, DateCR, Remark) VALUES ('" & txtCreID.Text & "','" & txtMemberID.Text & "','" & txtCredit.Text & "','" & txtTotal.Text & "','" & DateTimePicker1.Value.ToString("yyyy/MM/dd") & "','" & txtRemark.Text & "')"
With cmd
cmd.ExecuteNonQuery()
conn.Close()
End With
MsgBox("บันทึกข้อมูลเรียบร้อยแล้วค่ะ", vbOKOnly, "Save Data")

'***********************************************************************************************
Dim sqlADD As String
sqlADD = "UPDATE MemberID SET Total=" & Trim(txtTotal.Text) & " WHERE Member_ID=" & Trim(txtMemberID.Text) & " "

Dim sqlcommand As New OleDbCommand
conn.Open()
With sqlcommand
.CommandText = sqlADD
.Connection = conn
.ExecuteNonQuery()
End With
MsgBox("การแก้ไขข้อมูลของคุณเรียบร้อยแล้ว", vbOKOnly, "Edit Data")
txtMemberID.Text = ""
txtTitleN.Text = ""
txtName.Text = ""
txtLast.Text = ""



'Dim cn As New System.Data.OleDb.OleDbConnection(connstring)
'Dim da As New System.Data.OleDb.OleDbDataAdapter
'Dim ds As New DataSet
'Dim sql1 As String = "select * from Credit"
'da.SelectCommand = New System.Data.OleDb.OleDbCommand(sql1, cn)
'da.Fill(ds, "Credit")
'DataGridView1.DataSource = ds.Tables("Credit")




Catch ex As Exception
MsgBox(Err.Description)
End Try
End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 17:58:59 By : CPU4Core
 


 

No. 11



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



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


อ้าวว ลืมอ่าน


ประวัติการแก้ไข
2013-05-27 17:59:59
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 17:59:24 By : fonfire
 


 

No. 12



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



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


ตอบความคิดเห็นที่ : 10 เขียนโดย : CPU4Core เมื่อวันที่ 2013-05-27 17:58:59
รายละเอียดของการตอบ ::
^^" ได้แล้วค่ะขอบคุณมากกกกกกกกก ขอบคุณอย่างใหญ่หลวงเลยนะคะคุณ CPU4Core (*/\*)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 18:08:23 By : borobirt
 


 

No. 13



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



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


ถ้าสมมติว่าเราต้องการให้ในตาราง Datagridview แสดงแต่ เรคคอร์ดสุดท้ายที่เราเพิ่มเข้าไปเราต้องทำยังไงหรอคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 18:16:03 By : borobirt
 


 

No. 14



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



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

น่าจะแก้ได้แล้วนะครับ error มันฟ้องว่า connection close คือ การเชื่อมต่อถูกปิดอยู่ ถ้ายังไงก่อนจะ จัดการอะไรก็ข้อมูลในฐานข้อมูลก็ควรจะเปิด การเชื่อมต่อก่อนนะครับ

แนะนำใส่คำสั่งในไว้ก่อน executenonquery ครับ

Code (VB.NET)
If conn.State = ConnectionState.Closed Then
            conn.Open()
End If

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 18:24:53 By : 01000010
 


 

No. 15



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



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


ตอบความคิดเห็นที่ : 10 เขียนโดย : CPU4Core เมื่อวันที่ 2013-05-27 17:58:59
รายละเอียดของการตอบ ::
ถ้าสมมติว่าเราต้องการให้ในตาราง Datagridview แสดงแต่ เรคคอร์ดสุดท้ายที่เราเพิ่มเข้าไปเราต้องทำยังไงหรอคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 18:33:16 By : borobirt
 


 

No. 16



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



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


แสดง DataGridView นี่คือ code ที่เขียนไว้ใน บันทัด 33 นั่นใช่ไหมครับ ที่จะใช้ ถ้างั้น ก็ลองตามนี้ครับ

Code (VB.NET)
Dim cn As New System.Data.OleDb.OleDbConnection(connstring)
Dim da As New System.Data.OleDb.OleDbDataAdapter
Dim ds As New DataSet
Dim sql1 As String = "select * from Credit WHERE member_id = " & ชื่อตัวแปร & " ORDER BY Credit_ID DESC LIMIT 1"
da.SelectCommand = New System.Data.OleDb.OleDbCommand(sql1, cn)
da.Fill(ds, "Credit")
DataGridView1.DataSource = ds.Tables("Credit")



ลองดูครับ
ส่วนมากผมจะเอา Code เดิมจากคุณมาแก้นะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 18:49:27 By : CPU4Core
 


 

No. 17



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



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

ขอเสริมคุณ CPU4Core หน่อยนะครับ จากที่ดูเจ้าของกระทู้ใช้ฐานข้อมูล Access ฉนั้นไม่น่าจะใช้รูปแบบ LIMIT 1 ได้นะครับ

น่าจะเขียนแบบนี้แทนนะครับ

Code (VB.NET)
Dim sql1 As String = "SELECT TOP 1 * FROM Credit  ORDER BY Credit_ID DESC"

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 19:01:25 By : 01000010
 


 

No. 18



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



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


ครับผม อันนี้ผมไม่ทราบเหมือนกันว่ามัน LIMIT ได้ไหมสำหรับ Access ไม่ได้ใช้มันเป็น ฐานมาสักพัก แล้วครับ

ขอบคุณมากครับที่มาแก้ให้ ^O^
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-27 19:05:00 By : CPU4Core
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ความรู้เรื่องความสัมพันธ์ Microsoft Access + VB2010 ค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 02
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 อัตราราคา คลิกที่นี่