Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 6 của 6
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Làm sao số lượng mặt hàng nhập vào tự giảm khi mua chúng

    Đầu tiên mong Mod đừng cho bài e vào xọt, em đang cần lắm.
    Như hình bên dưới,làm sao để số lượng nhập tự động trừ di khi mình mua hàng. mọi ngừoi có thể giúp e cách làm được không, dùng trigger hay viết code cũng được . em chỉ xin một bản demo để em đem về nghiên cứu lại.hoặc hướng dẫn chi tiết giúp em cũng được. cảm ơn [IMG]images/smilies/biggrin.png[/IMG]




    P/s: Vừa rồi em có up lại bài của mấy anh chị trước (năm 2011) nhưng hok ai vào giúp em hết . em tự học C# nên kiến thức còn hạn chế lắm nhìn code rồi mới hiểu ^^.

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mình nghĩ bạn thiết kế csdl thế là không ổn. Cái nhập và xuất chả liên quan gì đến nhau cả, thì làm sao mà thống kê đc. Bạn thiết kế lại csdl, bao gồm ít nhất cũng có các bảng sau đây:
    - Bảng sản phẩm
    - Bảng nhập: Id sản phẩm, ngày nhập, số lượng, đơn giá nhập
    - Bảng xuất: Id sản phẩm, ngày xuất, số lượng, đơn giá xuất
    - Bảng tồn kho: Id sản phẩm, số lượng tồn, thời điểm tồn
    (Bảng tồn kho cũng không thật sự cần thiết, chỉ là để giảm thao tác tính toán. Khi có thao tác nhập hay xuất thì cập nhật vào tồn kho ngay, thế thì khi thống kê tồn kho không cần phải tính toán từ bảng nhập và xuất nữa, mà có thể lấy ngay giá trị trong bảng tồn kho)

  3. #3
    nhập hay xuất thì cùng 1 table, và thêm 1 cột là hình thức giao dich: nhập hay xuất cho dễ

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Okie luôn bạn.csdl ở trên mình minh họa ^^ . Để mình thiết kế lại như bạn. vậy là phải thêm bảng tồn kho. nhưng mình vẫn bí làm sao cho nó cập nhật lại số lượng nhập khi mình đã mua.?làm sao lấy cột tồn kho đó cập nhật vào bảng sản phẩm lúc đầu? viết code sao ấy.Bạn có thể viết mình demo đơn giản đc không ?mình xem rồi dễ hiểu hơn ^^

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    bạn phải tạo 2 form:
    - Form nhập: Chọn sp cần nhập, số lượng, đơn giá, ngày nhập
    => Lưu vào csdl:
    + Bảng nhập: Thêm 1 bản ghi các thông tin trên
    + Bảng tồn kho: Thêm 1 bản ghi thông tin tồn kho, bằng cách tìm tồn kho gần nhất, cộng thêm số lượng sp vừa nhập
    - Form xuất: Chọn sp cần xuất, số lượng, đơn giá, ngày xuất
    => Lưu vào csdl
    + Bảng xuất: Thêm 1 bản ghi các thông tin trên
    + Bảng tồn kho: Thêm 1 bản ghi thông tin tồn kho, bằng cách tìm tồn kho gần nhất, trừ đi số lượng sp đã xuất
    (Bảng tồn kho chỉ là phụ, nhằm mục đích thống kê nhanh về sau này mà không cần tính toán lại)
    Đó là phương hướng để code. Còn code thế nào thì do bạn tự code nhé

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi giangcoi48k
    bạn phải tạo 2 form:
    - Form nhập: Chọn sp cần nhập, số lượng, đơn giá, ngày nhập
    => Lưu vào csdl:
    + Bảng nhập: Thêm 1 bản ghi các thông tin trên
    + Bảng tồn kho: Thêm 1 bản ghi thông tin tồn kho, bằng cách tìm tồn kho gần nhất, cộng thêm số lượng sp vừa nhập
    - Form xuất: Chọn sp cần xuất, số lượng, đơn giá, ngày xuất
    => Lưu vào csdl
    + Bảng xuất: Thêm 1 bản ghi các thông tin trên
    + Bảng tồn kho: Thêm 1 bản ghi thông tin tồn kho, bằng cách tìm tồn kho gần nhất, trừ đi số lượng sp đã xuất
    (Bảng tồn kho chỉ là phụ, nhằm mục đích thống kê nhanh về sau này mà không cần tính toán lại)
    Đó là phương hướng để code. Còn code thế nào thì do bạn tự code nhé
    à em hiểu ý anh rồi.^^ làm hai cái bảng tồn kho ở hai bảng đúng hok anh nhĩ..rùi tính sum ở số lượng ban đầu đổ vào cái datagridview , rùi tính thêm sum ở số luọng mua nữa đổ vào thêm cái datagridview nữa rồi textbox = ban đầu trừ tổng số luọng mua. nhưng sao e làm nhiều datagridview quá ( . ko có datagridview e làm hok đc..

    Mã:
    //hai code để e tính cho nó xuất ra textbox số lượng tồn.để lát nữa update lại bảng nhập.       public int tinhslt()        {            if (ketnoi.State == ConnectionState.Closed)                ketnoi.Open();            string s = "";            String dr = "select SUM(soluongmua) from spmua WHERE mamh='" + comboBox1.SelectedValue.ToString() + "'";            SqlDataAdapter da1 = new SqlDataAdapter(dr, ketnoi);            DataSet ds1 = new DataSet(); da1.Fill(ds1, "mamh");            dataGridView2.DataSource = ds1;            DataTable dt1 = ds1.Tables["mamh"];            dataGridView2.DataMember = "mamh";            s = dataGridView2.CurrentRow.Cells[0].Value.ToString();            return int.Parse(s);           }        public int laybandau()        {            if (ketnoi.State == ConnectionState.Closed)                ketnoi.Open();            string s = "";            String dr = "select SUM(soluongnhap) from sanpham WHERE mamh='" + comboBox1.SelectedValue.ToString() + "'";            SqlDataAdapter da1 = new SqlDataAdapter(dr, ketnoi);            DataSet ds1 = new DataSet(); da1.Fill(ds1, "mamh");            dataGridView1.DataSource = ds1;            DataTable dt1 = ds1.Tables["mamh"];            dataGridView1.DataMember = "mamh";            s = dataGridView1.CurrentRow.Cells[0].Value.ToString();            return int.Parse(s);        }
    anh xem thế nào [IMG]images/smilies/biggrin.png[/IMG]

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •