Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > VB.NET สอบถามเรื่อง select ข้อมูลจากตารางนึงออกมาคำนวณ แล้วaddใส่อีกตารางครับ



 

VB.NET สอบถามเรื่อง select ข้อมูลจากตารางนึงออกมาคำนวณ แล้วaddใส่อีกตารางครับ

 



Topic : 121031



โพสกระทู้ ( 63 )
บทความ ( 0 )



สถานะออฟไลน์




ขอสอบถามเรื่องการ select ข้อมูลจากตารางนึงออกมาคำนวณ แล้วaddใส่อีกตารางครับ

โดย Select ข้อมูลจากตาราง A ออกมา(ID,NAME,PRICE,UNIT,YEAR)
แล้ว คำนวณ PRICE * UNIT มาเก็บไว้ในตัวแปร
แล้ว คำนวณ ปี - ปีปัจจุบัน

สุดท้าย Add ข้อมูลลงในตาราง B

คำถามก็คือ ข้อมูลที่ Select ออกมา มันมีหลาย Row
แต่ตอนคำนวณมันคำนวณแค่ Row เดียว แล้วก็Add ลงตารางB แค่ Row เดียว
ผมจะวนลูปยังไงให้มันคำนวณทุก Row ที่ผม Select ออกมา แล้วก็Add ลงตาราง B ครับ

คิดไม่ออกเลยครับ



Tag : .NET, Win (Windows App), VB.NET







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-01-23 21:22:01 By : arnopark View : 1682 Reply : 4
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ถ้ารู้คำสั่ง INSERT SELECT จะเขียนได้ง่ายมากเลยครับ เช่น


Code (SQL)
INSERT INTO table2 (CustomerID,Amount 
SELECT CustomerID,SUM(Amount) AS Amount FROM table2 WHERE CountryCode = 'TH' GROUP BY CustomerID


SQL INSERT ... SELECT







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-01-23 23:15:44 By : mr.win
 


 

No. 2



โพสกระทู้ ( 63 )
บทความ ( 0 )



สถานะออฟไลน์


ผมลองวิธีนั้นแล้วครับ แต่มันเป็นการคำนวณใน field เดียว ผมเข้าใจถูกรึเปล่าครับ

ผมอยากได้แบบนี้ครับ

ในแต่ละ Row
เอา field ที่ 3 มาคูณ field ที่ 4
เอา field ที่ 5 มาเปรียบเทียบหาปีที่ผ่านมา
เอา field ที่ 6 มาลบ field ที่ 8
ซึ่งในตารางมีข้อมูล 10 Row ต้องเอาออกมาคำนวณทีละ Row
จากนั้นก็ Add ลงอีกตารางที่ละ Row อะครับ

ผมอาจจะอธิบาย งงๆ ข้ออภัยด้วยครับ

adew


ประวัติการแก้ไข
2016-01-24 09:04:42
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-01-24 09:03:43 By : arnopark
 

 

No. 3

Guest


ตอบไม่ตรงคำถาม/ถามไม่ตรงคำตอบ
ลองทำความเข้าใจดูครับ

Code (SQL)

--อัตราค่าเสื่อม = 100%/จำนวนปี

--4.วิธีลดลงทุกปี (Reducing-Charge Method) การคิดค่าเสื่อมราคาวิธีนี้การคำนวณราคาในอัตราเร่ง คือปีแรก
--   กิจการจะได้รับผลประโยชน์มากกว่าปีหลัง ๆ ทำให้ค่าเสื่อมราคาในปีแรก ๆ สูงกว่าปีหลัง
--1) วิธีลดลงตามลำดับ (Double Declining Balance Method)
--   เป็นการคิดค่าเสื่อมราคาจากยอดคงเหลือในบัญชี สินทรัพย์คือราคาตามบัญชี การคำนวณจะไม่นำราคาซากมาเกี่ยวข้อง
--   ตัวอย่าง 25×1 ม.ค. 1 เครื่องจักรราคา 200,000 บาท ประมาณว่าจะใช้งาน 5 ปี้
--   จะขายเป็นเศษเหล็กได้ 5,000 บาท

--Double Declining Balance Method

DECLARE @Assets TABLE (ID INT, PurchaseCost MONEY, Period INT)
DECLARE @DBFactor INT

SET @DBFactor = 2                 -- 2=Double Declining Balance

INSERT INTO @Assets
 --SELECT 1, 20000, 48 -- สี่สิบแปดเดือน
 --UNION ALL 
 --SELECT 2, 30000, 60 -- หกสิบเดือน
 --UNION ALL 
 SELECT 3, 200000, 60
;WITH DBDepSched (AssetID, [Month], Period -- Asset base
    ,DBDepAmt, DBBookValue, DBCumDep       -- Declining Balance Depreciation Method
    ) AS (
    SELECT ID, 0, Period
        ,ROUND(2*PurchaseCost/Period, 2)     -- Declining Balance Depreciation Amount
        ,PurchaseCost, CAST(0 AS MONEY)
    FROM @Assets
    UNION ALL
    SELECT AssetID, NextMo, Period
        ,CASE WHEN [Month] = MidPeriod THEN ROUND(DBBookValue/MidPeriod, 2)
            WHEN NextMo    = Period    THEN DBBookValue
            WHEN [Month]   > MidPeriod THEN DBDepAmt
            WHEN YE        = 1         THEN ROUND(@DBFactor*DBBookValue/Period, 2)
            ELSE DBDepAmt END
        ,CASE WHEN [Month] = MidPeriod THEN DBBookValue - ROUND(DBBookValue/MidPeriod, 2)
            WHEN NextMo    = Period    THEN CAST(0 AS MONEY)
            WHEN [Month]   > MidPeriod THEN DBBookValue - DBDepAmt
            WHEN YE        = 1         THEN DBBookValue - ROUND(@DBFactor*DBBookValue/Period, 2)
            ELSE DBBookValue - DBDepAmt END
        ,CASE WHEN [Month] = MidPeriod THEN DBCumDep + ROUND(DBBookValue/MidPeriod, 2)
            WHEN NextMo    = Period    THEN DBCumDep + DBBookValue
            WHEN [Month]   > MidPeriod THEN DBCumDep + DBDepAmt
            WHEN YE        = 1         THEN DBCumDep + ROUND(@DBFactor*DBBookValue/Period, 2)
            ELSE DBCumDep + DBDepAmt END
    FROM DBDepSched
       CROSS APPLY (SELECT NextMo=[Month]+1, MidPeriod=Period/2, YE=([Month]+1)/12) x
    WHERE [Month] < Period
)
SELECT * --AssetID, [Month], DBDepAmt, DBBookValue, DBCumDep
 FROM DBDepSched 
 ORDER BY AssetID, [Month]

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-01-24 11:10:55 By : หน้าฮี
 


 

No. 4



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ถ้าแค่เอาข้อมูลหนึ่งมาลงอีก database ก็ไม่น่าจะต้องลงใหม่เลยนี่ครับ
จะทำให้ทำงานตั้ง 3 รอบ

1. รอบที่ select ข้อมูลมาลง datagrid
2. รอบที่ เอาข้อมูลลงใน database
3. รอบที่ select ข้อมูลจาก database ตัวใหม่ มาลง datagrid

ทั้งนี้ยังไม่รวมที่จะต้อง Update Delete ข้อมูลเก่า ต้องมานั่ง set ค่าข้อมูลที่เรา ลงใน database ตัวใหม่นี่อีก
ถ้าจะดูแค่ผลเฉยๆก็เอาแบบบ้านๆเลยก็ได้ครับแค่

1. รอบที่ select เรียงตามปี หรือ name+year ข้อมูลมาลง datagrid(แบบนี้ก็เรียงกันแล้วครับ)
2. รอบที่ select ข้อมูลจาก datagrid แรก มาลง datagrid ตัวใหม่

เพราะมองดูแล้วเหมือนแค่เอาข้อมูลเก่ามาเปรียบเทียบผลแค่นั้นเอง

ส่วน

"ผมอยากได้แบบนี้ครับ

ในแต่ละ Row
เอา field ที่ 3 มาคูณ field ที่ 4
เอา field ที่ 5 มาเปรียบเทียบหาปีที่ผ่านมา
เอา field ที่ 6 มาลบ field ที่ 8
ซึ่งในตารางมีข้อมูล 10 Row ต้องเอาออกมาคำนวณทีละ Row
จากนั้นก็ Add ลงอีกตารางที่ละ Row อะครับ"


ก็ for loop ใน datagrid แรก มาลงใน datagrid ที่สอง ก็ได้แล้วครับ
ค้อนแซบ ก็ตามที่ จขกท. ออกแบบไว้ได้เลยครับ
แค่ต้องดึงมันมาเป็นโค้ดแค่นั้นเอง

ลดการถ่ายโอนข้อมูล เพิ่มการใช้ Index key ก็เท่ากับลดปัญหาที่จะตามมาภายหลังครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-01-25 08:19:50 By : lamaka.tor
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : VB.NET สอบถามเรื่อง select ข้อมูลจากตารางนึงออกมาคำนวณ แล้วaddใส่อีกตารางครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่