
Một table appsheet là một bảng dữ liệu đọc từ một worksheet trong nguồn (ví dụ Google Sheet). Để thêm bảng mới, bạn vào Data, bấm dấu + rồi chọn worksheet. Để chặn nhân viên xoá đơn hàng, bạn tắt quyền Deletes của bảng đó trong ô Are updates allowed?. Bài này đi từng bước với app «Bán hàng 5F» đã có bảng Khách hàng và cần thêm Sản phẩm, Đơn hàng, Nhân viên. Video bên dưới làm mẫu từng bước phần kiểm soát Add, Edit, Delete, còn bài viết vẫn đầy đủ nếu bạn chỉ đọc.
Table trong AppSheet gồm những gì?
Table gồm cột và dòng. Cột được AppSheet đọc từ dòng tiêu đề của nguồn, nên bạn nên in đậm dòng tiêu đề để AppSheet tìm thấy. Mỗi lần người dùng thêm một bản ghi, app thêm một dòng vào nguồn.
- Key: mỗi bảng bắt buộc có key để AppSheet tìm đúng dòng khi đồng bộ. Khi nhiều người cùng ghi vào một ô, người ghi sau cùng sẽ «thắng».
- Một worksheet, một bảng: app editor chỉ nhận một bảng cho mỗi worksheet. Nếu một sheet đang chứa hai bảng nằm cạnh nhau, hãy tách sang tab riêng.
- Đổi cột ở nguồn thì phải Regenerate schema (tạo lại cấu trúc cột). Nếu quên, app sẽ ngừng chạy.
Các điểm trên nằm trong tài liệu chính thức về bảng và cột. Nếu cần hiểu rộng hơn về data source, table, column, xem bài Dữ liệu AppSheet hoạt động thế nào. Cách chuẩn bị sheet nằm ở bài Chuẩn bị Google Sheet cho AppSheet.
Thêm bảng AppSheet: Sản phẩm, Đơn hàng vào app như thế nào?
Bạn thêm bảng bằng Data → dấu + → chọn nguồn → chọn worksheet → chọn quyền → Add to app. Làm theo thứ tự này:
- Mở app trong editor, vào Data, bấm + ở đầu khung Data.
- Chọn nguồn dữ liệu, rồi chọn file. Với Google Sheet, bạn chọn được nhiều worksheet một lần, nên tick luôn Sản phẩm và Đơn hàng.
- Chọn quyền Add, Update, Delete cho từng bảng. Bước này có thể chỉnh lại sau.
- Bấm Add to app.
- Tạo view trỏ tới bảng mới. Chưa có view thì dữ liệu mới chưa hiện trong app.
AppSheet gợi ý sẵn các worksheet chưa dùng trong file đang nối. Muốn lấy từ file khác, bấm Browse for new source.

Khung Data và Table pane có những nút nào cần biết?
Hai khung này gom hầu hết thao tác với bảng. Tên nút và vị trí có thể khác giữa editor mới và legacy, nên hãy đối chiếu với màn hình của bạn.
- Data pane: sửa cột, thêm bảng, thêm Slice (bảng con lọc từ bảng gốc), xem nguồn, Regenerate schema, đổi tên, xoá bảng, User settings và ô tìm kiếm.
- Table pane: Table settings, thêm virtual column, Preview data (mở tab xem trước, chọn số dòng), Create report (mở Looker Studio) và Show expanded view để sửa biểu thức dễ hơn.
- Đổi tên bảng: More > Rename, hoặc bấm đúp vào tên bảng.
- Lưu: mỗi thay đổi bấm Save hoặc Save & verify data.
Muốn làm quen toàn bộ giao diện, xem thêm App editor AppSheet: từng khu vực của trình soạn app.
Đọc nhanh table settings appsheet: từng ô dùng làm gì?
Table settings là nơi quy định bảng đọc từ đâu, ai được thấy và được làm gì. Các ô chính theo tài liệu chính thức:
| Ô | Ý nghĩa |
|---|---|
| Table name | Tên bảng trong app. |
| Are updates allowed? | Quyền Adds, Updates, Deletes của bảng. |
| Source path, Worksheet Name/Qualifier, Data source | Nguồn dữ liệu của bảng. Có kèm lệnh Copy Data to New Source. |
| Store for image and file capture | Nơi lưu ảnh và tệp chụp từ app. |
| Filter out all existing rows? | Bật thì form vẫn thêm được dòng mà không đọc dòng cũ nào. |
| Security filter | Lọc dòng theo người dùng, ví dụ chỉ hiện đơn giao cho người đang đăng nhập. |
| Access mode | Truy cập nguồn với tư cách người tạo app (as app creator) hay người dùng (as app user). |
| Shared? | Bảng dùng chung hay private. |
| Partition | Chia dữ liệu qua nhiều file hoặc nhiều worksheet. |
| Data locale | Cách đọc ngày, số, tiền. |
| Descriptive comments | Ghi chú mô tả cho người quản trị. |
Phần Storage cho xem và sửa đường dẫn nguồn, worksheet, nhà cung cấp. Phần Localization cho đổi locale đọc bảng.
Are updates allowed AppSheet: quyền thêm, sửa, xoá cho từng bảng
Ô Are updates allowed? cho bạn chọn tổ hợp Adds, Updates, Deletes cho mỗi bảng. Muốn nhân viên không xoá được đơn hàng, hãy để Đơn hàng chỉ có Adds và Updates, bỏ Deletes. Bảng dưới là gợi ý minh hoạ cho «Bán hàng 5F», không phải quy định của AppSheet:
| Bảng | Quyền gợi ý | Lý do |
|---|---|---|
| Khách hàng | Adds + Updates | Nhân viên bán hàng thêm khách mới và sửa thông tin liên hệ. |
| Sản phẩm | Updates (cho nhân viên kho) | Kho cập nhật thông tin, còn danh mục do quản lý thêm. |
| Đơn hàng | Adds + Updates, không Deletes | Đơn cần lưu vết, sai thì sửa hoặc đổi trạng thái. |
| Chi tiết đơn hàng | Adds + Updates | Đi cùng bảng cha Đơn hàng. |
| Nhân viên | Chỉ đọc | Danh sách và vai trò không để ai sửa trong app. |

Hai lưu ý thêm:
- Slice: có thể đặt quyền riêng, nhưng phải chặt bằng hoặc hơn bảng gốc.
- Thu thập dữ liệu ẩn danh: bật Filter out all existing rows? để form vẫn thêm được mà không đọc dòng cũ nào.
Quyền đổi theo người dùng bằng biểu thức thế nào?
Bạn bấm biểu tượng bình thí nghiệm cạnh Are updates allowed? rồi viết biểu thức trả về một trong các giá trị: ALL_CHANGES, ADDS_ONLY, ADDS_AND_UPDATES, ADDS_AND_DELETES, UPDATES_ONLY, UPDATES_AND_DELETES, DELETES_ONLY, READ_ONLY. Danh sách này nằm trong tài liệu về update mode.
Có hai tình huống hay gặp: một số người được sửa còn người khác thì không, và một số dòng được sửa còn dòng khác thì không. Ví dụ tự dựng cho bảng Đơn hàng: Quản lý được ALL_CHANGES, người còn lại được ADDS_AND_UPDATES. Biểu thức tra Vai trò trong bảng Nhân viên theo USEREMAIL():
IF(LOOKUP(USEREMAIL(), "Nhân viên", "Email", "Vai trò") = "Quản lý", "ALL_CHANGES", "ADDS_AND_UPDATES")
Tên bảng và cột ở trên là của ví dụ; hãy thay bằng tên trong app của bạn và thử bằng tài khoản thật của từng vai trò trước khi phát hành. Phân quyền đầy đủ theo vai trò (ẩn view, action, bảng) nên làm thành một bước riêng.

Private table AppSheet là gì và khi nào nên dùng?
Private table là bảng mà mỗi người dùng có một bản dữ liệu riêng. Mặc định, mọi bảng thuộc người tạo app và dùng chung cho mọi người dùng, đây là mẫu quen thuộc của app doanh nghiệp. Private table hợp khi mỗi người cần dữ liệu riêng: ghi chú riêng về sản phẩm trên danh mục chung, bài làm riêng của học sinh, nhật ký tập luyện riêng.
Cách bật: Table settings → Security → tắt Shared?. Điều kiện và hệ quả theo tài liệu về private table:
- App phải bắt đăng nhập.
- Mỗi người nhận một bản sao bảng lưu trong cloud của chính họ, tên dạng
{appTemplate.Name}_{appTable.Name}, dùng chung giữa các thiết bị cùng tài khoản. - Bảng private phải là worksheet duy nhất trong file.
- Đổi cấu trúc cột sau này không lan tới người dùng cũ, nên hãy chốt cột trước khi phát hành.
Ví dụ: nhân viên bán hàng ghi chú riêng «khách này hay hỏi giá sỉ» trên từng sản phẩm. Danh mục Sản phẩm vẫn dùng chung, còn bảng Ghi chú sản phẩm để private, nên ghi chú của người này không hiện ra cho người kia.

Nên để nhiều bảng trong một file Sheet hay tách nhiều file?
Cả hai cách đều dùng được. AppSheet tải nguyên file spreadsheet: nhiều bảng trỏ vào cùng một file thì chỉ tải một lần, còn nhiều file nhỏ thì tải song song. Thường bạn chọn cách dễ quản lý hơn. Ngoại lệ: nếu app chỉ dùng 2 sheet trong một file có cả trăm sheet nặng, hãy tách 2 sheet đó ra file riêng. Nguồn: tài liệu về nguồn dữ liệu. Nhớ rằng bảng private phải đứng một mình trong file của nó.
Data locale: đọc ngày và số kiểu Việt Nam
Data locale quyết định cách bảng đọc ngày, số và tiền. Với locale Vietnamese (Vietnam) vi-VN: ngày dd/MM/yyyy, giờ HH:mm:ss, dấu thập phân «,», phân nhóm «.», ký hiệu tiền ₫ hoặc đ, phân cách CSV «,». Nếu sheet của bạn nhập ngày kiểu Việt mà bảng đọc sai, hãy kiểm tra ô này trước.
Tóm tắt và bước tiếp theo
- Mỗi table appsheet là một worksheet có dòng tiêu đề và key; đổi cột ở nguồn thì Regenerate schema.
- Thêm bảng: Data → + → chọn nguồn và worksheet → quyền → Add to app → tạo view.
- Chặn xoá đơn hàng bằng cách bỏ Deletes trong Are updates allowed?; muốn quyền khác nhau theo người thì viết biểu thức.
- Chỉ dùng private table khi mỗi người cần dữ liệu riêng, và chốt cột trước khi phát hành.
Bước tiếp theo: mở app «Bán hàng 5F» của bạn, thêm hai bảng Sản phẩm và Đơn hàng, đặt quyền theo bảng gợi ý, rồi đăng nhập thử bằng một tài khoản nhân viên để kiểm tra. Chi tiết từng ô có trong tài liệu chính thức về Table settings.
Xem thêm
Câu hỏi thường gặp
›Làm sao thêm bảng mới vào app AppSheet?
Vào Data, bấm dấu + ở đầu khung Data, chọn nguồn rồi chọn worksheet. Với Google Sheet bạn chọn được nhiều worksheet một lần. Sau đó chọn quyền Add/Update/Delete, bấm Add to app và tạo view trỏ tới bảng mới để dữ liệu hiện trong app.
›Làm sao để nhân viên không xoá được đơn hàng?
Trong Table settings của bảng Đơn hàng, ô Are updates allowed? chỉ chọn Adds và Updates, bỏ Deletes. Nếu chỉ một số người được xoá, bấm biểu tượng bình thí nghiệm và viết biểu thức trả về ALL_CHANGES cho quản lý, ADDS_AND_UPDATES cho người còn lại.
›Private table trong AppSheet dùng khi nào?
Dùng khi mỗi người cần dữ liệu riêng, như ghi chú riêng về sản phẩm hay nhật ký tập luyện. Bật bằng cách tắt Shared? trong Security. App phải bắt đăng nhập, bảng phải là worksheet duy nhất trong file, và đổi cột sau này không lan tới người dùng cũ.
›Nên để các bảng trong một file Google Sheet hay tách nhiều file?
Cả hai đều được; thường chọn cách dễ quản lý. AppSheet tải nguyên file, nên nhiều bảng cùng file chỉ tải một lần, còn nhiều file nhỏ tải song song. Nếu app chỉ dùng 2 sheet trong file có cả trăm sheet nặng thì nên tách 2 sheet đó ra file riêng.
Tác giả
Chuyên gia chuyển đổi số · Đại diện 5F Edu
Hơn 8 năm triển khai và tư vấn chuyển đổi số cho doanh nghiệp vừa và nhỏ: chuẩn hoá quy trình, xây phần mềm quản lý bằng AppSheet và web app, tự động hoá bằng N8N. Người làm kênh YouTube Nghiện AppSheet.



