Sử dụng form nhập liệu

Liên hệ QC

doanhhoang79

Thành viên hoạt động
Tham gia
31/3/08
Bài viết
142
Được thích
18
Chào các anh chị,

Tôi đã tìm toàn bộ trên diễn đàn về phương pháp sử dụng form để nhập liệu. Tuy nhiên mới chỉ thấy khi lưu thì dữ liệu được lưu theo dòng. Vậy còn lưu theo cột thì sao nhỉ.

Mong các cao thủ cho tôi xin code hoặc một file ví dụ cụ thể thì càng tốt.

Cảm ơn,
 
Tôi hơi lờ mờ về khái niệm "theo hàng" và "theo cột" mà bạn đã nói.
Trên thực tế thì các kiểu dữ liệu thường được thiết kế ở dạng biến đổi theo dòng, chẳng thấy chỗ nào làm theo cột, và chính vì lẽ đó Excel đã thiết kế tới 65536 dòng trong khi chỉ có 256 cột.
Còn như bạn nói thì có thể đó là trường hợp đặc biệt, việc lưu theo dòng hay theo cột thì cũng tương tự nhau thôi, bạn hãy tưởng tượng, mỗi ô của Excel (cell) đều được quy định bởi 2 thông số đó là hàng và cột. Ví dụ cells("A1") - Cột A dòng 1; Cells(1,1) - Cột 1 dòng 1
Mỗi khi bạn nhập dữ liệu vào thì tùy theo nhu cầu của bạn mà căn cứ vào giá trị của cột để nhập
Ví dụ đoạn code sau sẽ diền các số liên tiếp từ 1 đến 256 vào các cột tương ứng trên dòng 1:
PHP:
Dim I as integer
For I = 1 to 256
      Cells(1,I).Value = I
next
 
Upvote 0
Bạn nói đúng, đây là trường hợp đặc biệt ít gặp. Ý tôi là sau khi xác định được số dòng tương ứng ta sử dụng form để nhập và lưu liệu sẽ được lưu theo cột. Nếu cột nào có dữ liệu rồi thì nó sẽ tự động chuyển sang lưu ở cột kế tiếp. Tránh trường hợp nó lưu đè lên cột đã có dữ liệu hoặc không đúng dòng đã xác định.
 
Upvote 0
Bạn thử xuất Bảng Excel sang Access hay Foxpro xem nó sẽ xuất theo chiều nào? Không phải vô tình mà Bill làm như vậy đâu nhé. Việc quản lý dữ liệu theo cột Exc làm được vì nghĩa đen nó là phần mềm bảng tính nhưng số bản ghi sẽ hạn chế giảm 65536/256 lần, nó sẽ rất khó khăn trong tương tác với các phần mềm CSDL khác. Hơn nữa, quản lý CSDL mà theo cột (Field) thì dung lượng tăng lên đáng kể.
Vậy trừ trường hợp đặc thù, nên có mô hình chung về 1 bảng dữ liệu để thống nhất giữa Bảng tính và CSDL. Nó cũng giống các phần mềm tiện cho việc nâng cấp bổ xung về sau.
Mình không phải là chuyên gia lập trình nên nghĩ sao nói vậy, nếu không chuẩn thông cảm giùm.
 
Upvote 0
Bạn nói đúng, đây là trường hợp đặc biệt ít gặp. Ý tôi là sau khi xác định được số dòng tương ứng ta sử dụng form để nhập và lưu liệu sẽ được lưu theo cột. Nếu cột nào có dữ liệu rồi thì nó sẽ tự động chuyển sang lưu ở cột kế tiếp. Tránh trường hợp nó lưu đè lên cột đã có dữ liệu hoặc không đúng dòng đã xác định.
Như tôi đã nói, về nguyên tắc thì cũng giống như lưu theo dòng thôi.
Vấn đề là bạn cần phải nghiên cứu để áp dụng cho đúng yêu cầu của bạn.
Nếu chỉ nói như bạn thì chẳng ai có thể viết code phù hợp với bạn được bởi lẽ ai mà biết được bạn cần chèn bao nhiêu số liệu, bắt đầu chèn ở từ vị trí nào.
Nếu bạn vận dụng 1 chút thôi thì với code trên kia của tôi + thêm kiểm tra điều kiện
If cells(DongXacDinh,I).value = "" then cells(DongXacDinh,I).value=I
Là bạn có thể làm được rồi.
 
Upvote 0
Như tôi đã nói, về nguyên tắc thì cũng giống như lưu theo dòng thôi.
Vấn đề là bạn cần phải nghiên cứu để áp dụng cho đúng yêu cầu của bạn.
Nếu chỉ nói như bạn thì chẳng ai có thể viết code phù hợp với bạn được bởi lẽ ai mà biết được bạn cần chèn bao nhiêu số liệu, bắt đầu chèn ở từ vị trí nào.
Nếu bạn vận dụng 1 chút thôi thì với code trên kia của tôi + thêm kiểm tra điều kiện
If cells(DongXacDinh,I).value = "" then cells(DongXacDinh,I).value=I
Là bạn có thể làm được rồi.

Code của bạn chỉ điền số, tôi muốn cả số và ký tự. Nhờ bạn hoàn thiện giúp

Cảm ơn nhiều
 
Upvote 0
Bạn thử xuất Bảng Excel sang Access hay Foxpro xem nó sẽ xuất theo chiều nào? Không phải vô tình mà Bill làm như vậy đâu nhé. Việc quản lý dữ liệu theo cột Exc làm được vì nghĩa đen nó là phần mềm bảng tính nhưng số bản ghi sẽ hạn chế giảm 65536/256 lần, nó sẽ rất khó khăn trong tương tác với các phần mềm CSDL khác. Hơn nữa, quản lý CSDL mà theo cột (Field) thì dung lượng tăng lên đáng kể.
Vậy trừ trường hợp đặc thù, nên có mô hình chung về 1 bảng dữ liệu để thống nhất giữa Bảng tính và CSDL. Nó cũng giống các phần mềm tiện cho việc nâng cấp bổ xung về sau.
Mình không phải là chuyên gia lập trình nên nghĩ sao nói vậy, nếu không chuẩn thông cảm giùm.

Tôi cũng chỉ sử dụng 20 cột để lưu thôi. Vấn đề là khi tôi cập nhật từ form thì nó phải lưu theo cột (từ cột 01 đến cột 20)
VD: tại dòng 3 tôi muốn lưu dữ tiệu vào cột 5
tại dòng 6 lưu vào cột 8...
 
Upvote 0
Bạn muốn hỏi gì thì cũng phải có cơ sở hay file mẫu, về nguyên tắc hàng hay cột đều được như anh hoaktxd đã nói. Không tự nhiên khi Enter con chuột chuyển xuống hàng dưới.
 
Upvote 0
Tôi cũng chỉ sử dụng 20 cột để lưu thôi. Vấn đề là khi tôi cập nhật từ form thì nó phải lưu theo cột (từ cột 01 đến cột 20)
VD: tại dòng 3 tôi muốn lưu dữ tiệu vào cột 5
tại dòng 6 lưu vào cột 8...
Bạn nên tham khảo bài viết dưới đây. http://www.giaiphapexcel.com/forum/showthread.php?t=8640&page=5
Bạn cũng có thể dùng chức năng tìm kiếm của diễn đàn, có rất nhiều bài viết như yêu cầu của bạn đấy. Thân
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom