Chủ đề: Kết nối SQL server với Access
-
08-13-2008, 10:47 PM #21Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: Kết nối SQL server với Access
Hi hi, Cảm ơn các bác đã chỉ bảo. Thực ra cái gì em cũng đọc nhưng không sâu và không có hệ thống nên đôi lúc gặp khó khăn.
Vấn đề em đang thắc mắc là cùng 1 code đấy kết nối với data là access thì nó cho chỉnh sửa luôn nhưng chỉ thay dòng lệnh connection của Jet bẳng SQL thì nó lại không cho chỉnh sửa tí gì (gõ vào cũng không được nhé bác, chứ đừng nói gì đến update) mặc dù đã vào Enterprice manager để permission tất cả (select, update, delete)
-
08-14-2008, 01:09 AM #22Junior Member
- Ngày tham gia
- Dec 2015
- Bài viết
- 0
Ðề: Kết nối SQL server với Access
Gửi bởi phatnq2002
Như code ở trên thì ta đã có conn đại diện cho 1 đường nối đến data.
Rồi đường cái đã thông. Vấn đề là đi đến cuối đường thì người ta có xua chó ra hay là mình cứ tự nhiên đẩy cửa vào mà mần gì thì mần?
Có được phép hay không? Nó nằm ở chỗ userID và pass đó.
Ngoài ra, để đi đến ngôi nhà cuối đường đó ta có 3-4 đường để đến.
Hãy đi theo đường anh Phật đã mở.
Khi đã và nhà thì muốn ngồi bàn nào lại chả được nhỉ? Muốn mở table nào thì mở thôi.
Bình thuờng tạo form trong Access bạn cứ lôi table hoặc query ra thả vào ..
Mà nó có sẵn propecty : recordset type = "dynaset".
Còn ở đây, recordset lại có giá trị default là readonly .. thua là phải ....
Hồi nãy giờ phải down lại cái SQL2000 để cho đồng bộ với mọi người ... oải quá ...78MB ...mà ở quán này đường truyền chậm như rùa .. hê hê cuối cùng sau 1/2 giờ cũng đã cài xong SQL2000.
Và bây giờ ... thế tại sao bạn không cài example của Access mà học cho nhanh?
-
08-14-2008, 03:04 AM #23Silver member
- Ngày tham gia
- May 2016
- Bài viết
- 2
Ðề: Kết nối SQL server với Access
Làm gì có cái sample nào access+SQL2000 đâu bác, em mần mãi chẳng thấy đâu cả,bác có cho em xin 1 cái.
Cái SQL2000 em chỉ mới tiếp cận nó nên chưa hiểu về nó lắm. Em sục sạo trong cấu hình của nó nhưng tuyệt nhiên chẳng thấy chỗ nào có chế độ readonly cả. BÁc có thể nói rõ hơn về cái này hộ em không.
Theo em suy đoán chắc là do cấu hình trong SQL2000 thôi (vì kết nối với file access khác thì OK). Muốn chuyển sang access+SQL2000 nhưng quả thật thấy access hoạc access+access vẫn gọn nhẹ hơn (lại dễ backup nữa chữ):hysterical::hysterical:
-
08-14-2008, 04:08 AM #24Silver member
- Ngày tham gia
- Nov 2015
- Bài viết
- 18
Ðề: Kết nối SQL server với Access
SQL nếu khi cài lấy default của nó là IDuser = "SA" thì đây là ông trùm toàn quyền rồi.
Do đó khi bạn connect vào data với tên đó thì sẽ làm trùm, muốn gì cũng được. Không cần mở SQL server lên set lại nữa.
Cái sample của access+SQL2000 nằm trong bộ Office 2003.
Chạy setup và chọn add/remove feature ...
Trong mục bảng custom kế tiếp đánh dấu chọn []Choose advanced ...
Trong bảng kế tiếp chọn mục Access / Sample data thì chọn Run all my computer
Kể cả với Access+Access thì vẫn nên tập code hơn là dùng chuột click and click ...
Vì với những ngôn ngữ, phần mềm khác không có giao diện giống như vậy thì sao bạn làm?
Không thể sống đời với duy nhất một PM hay ngôn ngữ đâu.
Làm lập trình rốt cuộc rồi cũng phải biết tối thiểu 6-7 ngôn ngữ lập trình.
Nếu không code mà lại click click để tạo chương trình thì trao đổi qua mạng sao được.
Không ai biết tại sao bạn không làm được cả. Không mở file của bạn lên coi thì sao biết được?
Mà bạn kể lại hay chụp hình màn hình gửi lên cũng không được.
Những khai báo nằm ở khung propecty của đối tượng nào bạn đâu nhìn thấy hết, mà cũng không nhớ nó ở đâu nữa.
Nếu là code thì đọc từ trên xuống dưới cũng phải thấy nó chứ, phải không?
-
08-14-2008, 04:44 AM #25Silver member
- Ngày tham gia
- Nov 2015
- Bài viết
- 51
Ðề: Kết nối SQL server với Access
Hi, hi, chắc bác là programer chuyên nghiệp rồi, em là dân nghiệp dư chỉ dùng google để tự ngâm cứu thôi nên hạn chế nhiều lắm. Đây là đoạn code để connect và truy vấn dữ liệu(cái này em . mất cả ngày hôm nay mới làm được)
Private Sub Form_Load()
sqlstr = "select * from tbl_bangphong "
Dim db As Connection
Set db = New Connection
db.CursorLocation = adUseClient
' Cau lenh ket noi sql
db.Open "PROVIDER=MSDASQL;driver={SQL Server};server:-(local);uid=sa;pwd=sa;database=qlns;"
Set adoPrimaryRS = New Recordset
' adoPrimaryRS.Open sqlstr, db, adOpenStatic, adLockOptimistic
adoPrimaryRS.Open sqlstr, db, dbOpenDynaset, dbSeeChanges
Set Me.Form.Recordset = adoPrimaryRS
End Sub
Các bác thử xem nó chưa ổn chỗ nào giúp em nhé.Ah, mà em update office2003 chỉ có file Northwind thôi làm gì có cái nào dính với SQL đâu nhỉ
PS: 2 bac phatnq và muontennguoi co YM không cho em 1 cái để liên lạc cho tiện, nhiều khi post bài không biết bao giờ mới được trả lời
-
08-14-2008, 08:18 PM #26Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: Kết nối SQL server với Access
Ngồi đọc và kiểm tra cả buổi sáng cuối cùng cũng tìm được cách khắc phục. Đó là do dùng chương trình import data từ access vào SQL nên nó mất đi Primarykey. Khi vào SQL đặt khóa chính cho trường dữ liệu thì nó cho edit liền. Nhưng các bác thử phân tích cái này nhé.
Cùng với 1 đoạn code dùng cho access+SQL2000 thì phải khai báo Index/key; Primary còn dùng với VB6+SQL2000 thì không cần
Ah, làm thế nào để gán giá trị vào combobox khi đã có recordset hả các bác, nếu em dùng phương thức addItem thì nó chỉ ra được 1 giá trị trong khi em muốn combo box có thể có nhiều giá trị (column). Thông thường trong access thì tại rowsource của comboxbox chỉ cần chọn
SELECT gt1,gt2 FROM table
là Ok, còn với cái recordset này em vẫn phải loay hoay mãi
-
08-15-2008, 05:07 AM #27Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: Kết nối SQL server với Access
Hãy quên đi cái chuyện tự động Primary Key của Access.
Đó là việc phải nhớ kiểm soát chặt chẽ. Dữ liệu phải được kiểm soát tính hợp lệ thường xuyên.
Còn những chuyện recordset thì không có gì thay đổi cả.
Dù là da ta có nằm chung file .mdb hay không thì các resoure cũng luôn luôn là recordset.
Việc tách data riêng ra không hề làm xáo trộn hay thay đổi phần giao diện của các đối tượng.
-
08-15-2008, 08:13 AM #28Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Kết nối SQL server với Access
Gửi bởi behattieu
Trong office2003 có 2 cái sample: 1 cái có da ta Access, 1 cái không có phải kết nối vào SQL server.
Cái có data là NorthwindCS.mdb còn cái không có là NorthwindCS.apd
ĐOạn lệnh của bạn chạy trên máy của tôi thì nó báo lỗi: biến chưa khai báo tường minh.
Ngoài ra nên khai báo rõ dùng giao diện recordset, connection nào ...
Private Sub Form_Load()
Dim db As Connection
Dim sqlstr As String
sqlstr = "select * from tbl_bangphong "
Set db = New ADODB.Connection
db.CursorLocation = adUseClient
' Cau lenh ket noi sql
db.Open "PROVIDER=MSDASQL;driver={SQL Server};server:-(local);uid=sa;pwd=sa;database=qlns;"
'Chỗ này chỉ nên dùng 1 trong 2: Provider hoặc driver thôi.
Set adoPrimaryRS = New ADODB.Recordset
adoPrimaryRS.Open sqlstr, db, 3,3 'xem thêm nhận xét phía dưới
Set Me.Form.Recordset = adoPrimaryRS
End Sub
Chỗ open recordset: sqlstr, db, 3,3 hoặc sqlstr, db, 3,4 đều được.
Nhưng như đã nói hôm trước nên chọn 3,3 để update ngay từng record khi vừa rời khỏi record đó.
Nếu chọn 3,4 thì phải dùng lệnh UpDateBatch và dùng để update toàn bộ recordset 1 lần.
-
08-16-2008, 05:22 PM #29Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Kết nối SQL server với Access
Đúng là chuyển sang ADP có nhiều thứ phải thay đổi quá. Bác có phương án nào giải quyết vấn đề này không:
1. Em có 1 form(form1) truy vấn ADO từ table1, trên form1 có 2 textbox txtMaphong, txtTenphong. Trường maphong chỉ có trong table1, còn cả 2 trường maphong,tenphong đều có trong table2. Trước chỉ cần dùng Dlookup("Tenphong","table2","txtMaphong=maphong") tại ô txtTenphong là OK. Giờ em muốn tại ô txtTenphong giá trị được gán theo txtMaphong mà chưa được.
2. Tại ô txtmaphong(form1) khi click đúp thì mở form bảng phòng ra. Khi click đúp vào giá trị của mã phòng(form2) thì đóng bảng phòng lại và chuyển giá trị đó vào ô mã phòng (form1).
Còn vụ kết nối và sửa dữ liệu thì em làm được rồi. Có 2 cái đều không cho sửa dữ liệu
1. Không khai báo Index,key
2.Bỏ mất dòng db.CursorLocation = adUseClient
Nhưng vẫn chưa hiểu tại sao cái thằng VB nó không cần khai báo cả 2 cái trên mà vẫn can thiệp được vào dữ liệu
-
08-17-2008, 05:40 AM #30Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Kết nối SQL server với Access
Gửi bởi behattieu
Tuỳ theo lúc đó đang có cái gì và dự định làm cái form đó để làm gì.
Không thấy cái file của bạn, không biết bạn đang làm cái gì thì sao trả lời được.
Gửi bởi behattieu
Gửi bởi behattieu
Tương tự như các sản phẩm bao cao su bình thường, thay vì được sinh sản bằng chất liệu mủ cao su tự nhiên thì bcs đôn dên lại có chất liệu silicone y tế đảm bảo an toàn cho da, không gây kích ứng khi...
Bao đôn dên có rung đầu nối dài thêm chim của đàn ông thêm 6cm