 |
|
ช่วยหน่อยครับ อ.ที่ปรึกษาให้แก้โปรเจคติดแค่นี้ครับคิดไม่ออกครับ 1.สินค้าขายดี 2.สรุปยอดรายเดือน 3.ราคาปรับเปลี่ยน (VB.NET + ACCESS) |
|
 |
|
|
 |
 |
|
ทุกอย่างหาได้จาก บล๊อคค้นหาข้อมูล ......... [search]
|
 |
 |
 |
 |
Date :
2019-05-12 09:39:48 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ควรแก้ยังไงหรอครับ (ค้นหาระหว่างวันที่)

|
 |
 |
 |
 |
Date :
2019-05-13 18:01:05 |
By :
2535466999857732 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
น่าจะลองเปลี่ยนจาก '" เป็น #" ดูครับ
เรื่อง datetime นี่ น่าจะงมกันนานหน่อย เพราะ มันเป็็นที่ format ของ data type ด้วย
อาจจะ ต้อง convert จาก ToSortDateString() มาเป็น datetime ดู อีกที
|
 |
 |
 |
 |
Date :
2019-05-13 19:08:30 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมแก้เรื่องเวลาได้แล้วครับผม ขอบคุณมากครับ
ผมอยากได้ code ที่มันแสดงสินค้าขายดี 5 อันดับผมต้องเขียนประมาณไหนหรอครับ
|
 |
 |
 |
 |
Date :
2019-05-13 21:50:53 |
By :
2535466999857732 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมก็ไม่ค่อยถนัด sql นะครับ
แต่ถ้าให้ทำ ผมจะ select sum มา เป็น table ก่อน โดยเรียงจากน้อยไปมาก จากนั้น ก็ selec top5 ขึ้นมา
ลองหาอ่าน พวกที่ใช้การ select ซ้อน select ดู ครับว่าเขาเขียนกันยังไง
|
 |
 |
 |
 |
Date :
2019-05-13 23:43:19 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คงจะประมาณนีละมังครับ ผมลืมหมดละ
Code (VB.NET)
Me.....ชื่อตาราง......BindingSource.Filter = String.Format("D_DATE >= #{0:M/dd/yyyy}# AND D_DATE <= #{1:M/dd/yyyy}#", DateTimePicker1.Value, DateTimePicker2.Value)
ถ้าเป็นผมนะ พอเรากดหัวของ DataGridview มันจะเรียงจากมากไปหาน้ย หรือ น้อยไปหามากให้ หาคำสั่ง Auto นั้น แล้ว ดึง 5 Row มา ครับ
|
ประวัติการแก้ไข 2019-05-14 07:52:24
 |
 |
 |
 |
Date :
2019-05-14 07:45:39 |
By :
nutpopo |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (SQL)
SELECT ITEM, DESCRIPTION , COST, PRICE FROM HR_ITEM_MST
SELECT ITEM
,DESCRIPTION
, COST
, PRICE
,((PRICE - COST) * 100)/PRICE [MARGIN]
FROM HR_ITEM_MST
WHERE ((PRICE - COST) * 100)/PRICE >= 30
ORDER BY MARGIN DESC
SELECT ITEM
,DESCRIPTION
,AVG(COST) [COST]
,AVG(PRICE) [PRICE]
,AVG(((PRICE - COST) * 100)/PRICE) [MARGIN]
FROM HR_ITEM_MST
GROUP BY ITEM,DESCRIPTION
HAVING ((AVG(PRICE) - AVG(COST)) * 100)/AVG(PRICE) >= 30
ORDER BY MARGIN DESC
เผื่อพอเป็น Idea ครับ

|
 |
 |
 |
 |
Date :
2019-05-14 11:08:55 |
By :
jaypang |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
1.คือผมอยากได้ code ที่มันแสดงสินค้าขายดี 5 อันดับผมต้องเขียนประมาณไหนหรอครับ
Code (SQL)
with cte_rank as
(
select
ProductID,
sum(price) as #total,
DENSE_RANK() over (order by sum(price) desc) #Rank
from Table group by ProductID
)
select * from cte_rank where #rank between 1 and 5
2.ถ้าจะเลือกให้ show ข้อมูลยอดขายสินค้า ระหว่างเดือนควรใช้คำสั่งอะไรอ่ะครับ
Code (SQL)
select * from table where dateOrder between '' and ''
3.อยากดักค่า textbox ให้รับแต่จำนวนเต็มต้องทำยังไงหรอครับ
Code (VB.NET)
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim str_ As String = TextBox1.Text
If str_.ToString.IndexOf(".") = True Then
MsgBox("OK")
Else
MsgBox("Error")
End If
End Sub
4. อยากให้แสดงสินค้าที่ราคา ต้นทุนต่ำกว่ากำไร 30% ครับ
เช่น ต้นทุน 70 ขาย 100
แต่ถ้า ทุน 80 ขาย 100 ให้แสดงสินค้านี้ว่ามันต่ำกว่า 30 %
ข้อสุดท้าย งง โจทย์ หรือไม่ผมก็โง่ 555+
|
 |
 |
 |
 |
Date :
2019-05-18 20:23:00 |
By :
adminliver |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
1.คือผมอยากได้ code ที่มันแสดงสินค้าขายดี 5 อันดับผมต้องเขียนประมาณไหนหรอครับ
Ans : คุณต้องมีข้อมูลการขายก่อน หรือ Transaction ว่าขายอะไรไปบ้าง
ผมยกตัวอย่างข้อมูลนี้

จะเขียน SQL ตามโจทย์ได้ประมาณนี้
Code (SQL)
SELECT TOP(5) ITEM, COUNT(ITEM) [TIME] , AVG(COST) [COST] , AVG(PRICE) [PRICE]
FROM HR_ITEM_MST
GROUP BY ITEM
ORDER BY COUNT(ITEM) DESC
จะได้ผลลัพธ์ประมาณนี้ หลักการคือนับจำนวนไอเท็มที่ขาย แล้วก็จัดอันดับจากมากสุดไปน้อยสุด เลือกมาแค่ 5 อันดับบน

2.ถ้าจะเลือกให้ show ข้อมูลยอดขายสินค้า ระหว่างเดือนควรใช้คำสั่งอะไรอ่ะครับ
Ans : ต้องการโชว์ยอดขาย แสดงว่าจะต้องคำนวณตามไอเท็มแล้ว ไม่ใช่แค่แสดงรายการที่ขาย น่าจะเขียนได้ประมาณนี้ครับ
Code (SQL)
SELECT ITEM, SUM(QTY) , SUM(QTY * COST) [COST] , SUM(QTY * PRICE) [PRICE]
FROM HR_ITEM_MST
WHERE CREATEDATE BETWEEN '2019-05-01 00:00:00' AND '2019-05-31 23:59:59'
GROUP BY ITEM
3.อยากดักค่า textbox ให้รับแต่จำนวนเต็มต้องทำยังไงหรอครับ
Ans : ไม่ได้เขียน vb แล้ว หาจากเน็ทให้ละกันครับ มันจะเช๊คตอนเราคีย์อะไรเข้าไปใน textbox ถ้าเป็น ตัวเล็กก็พิมพ์ได้ ถ้าไม่ใช่ก็ไม่มีอะไรเกิดขึ้น
Code (VBScript)
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
'97 - 122 = Ascii codes for simple letters
'65 - 90 = Ascii codes for capital letters
'48 - 57 = Ascii codes for numbers
If Asc(e.KeyChar) <> 8 Then
If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then
e.Handled = True
End If
End If
End Sub
4. อยากให้แสดงสินค้าที่ราคา ต้นทุนต่ำกว่ากำไร 30% ครับ
เช่น ต้นทุน 70 ขาย 100
แต่ถ้า ทุน 80 ขาย 100 ให้แสดงสินค้านี้ว่ามันต่ำกว่า 30 %
Ans : ก็คล้ายๆ โค้ดที่เขียนไปด้านบนแหละ
Code (SQL)
SELECT ITEM
,DESCRIPTION
, COST
, PRICE
,((PRICE - COST) * 100)/PRICE [MARGIN]
FROM HR_ITEM_MST
WHERE ((PRICE - COST) * 100)/PRICE <= 30
ORDER BY MARGIN DESC
|
 |
 |
 |
 |
Date :
2019-05-21 14:00:03 |
By :
jaypang |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมก็อย่ากจะเขียนให้นะ เอาเป็นว่าบอกไบก็แล้วกัน
Code (VB.NET)
Dim sql As String = "SELECT TOP 4 * FROM Table WHERE DATE = '" & "date" & "'ORDER by Item"
ไบก็เหมือนบอก 5555
|
 |
 |
 |
 |
Date :
2019-08-17 13:20:27 |
By :
nutpopo |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|