รบกวนวิธีแปลงค่า จากตำแหน่งตัวเลขครับ
กระทู้เก่าบอร์ด อ.Yeadram

 5,550   34
URL.หัวข้อ / URL
รบกวนวิธีแปลงค่า จากตำแหน่งตัวเลขครับ

ขอสอบถามวิธีอ่านค่าใน field ครับ
ตัวอย่างมีตำแหน่งอยู่ 5 หลัก เช่น
    "xxxxx" อ่านว่า เช้า เที่ยง เย็น ก่อนนอน บ่าย
    
    "x x x" อ่านว่า เช้า เย็น บ่าย
   
    "   xx"   อ่านว่า ก่อนนอน บ่าย

    "x    "    อ่านว่า เช้า

โดยที่ x เป็นอักษรหรือตัวเลขใดๆก็ได้ครับ

       ขอบคุณครับ              

34 Reply in this Topic. Dispaly 2 pages and you are on page number 2

21 @R11567
ขอบพระคุณ อจ.ทุกท่าน มีบุญคุณกับผมมากครับ
22 @R11570
โอ้ ขอบคุณ อ.PICHAITC ช่วยเขียนให้เรียบร้อยแล้ว
สุดยอดครับ
ขอปรับแต่งตาม R11561

Function ConvertValue(strMealDigit As String) As Single
Dim sngResult As Single
    Select Case strMealDigit
        Case ""
            sngResult = 0
        Case "A"
            sngResult = 0.25
        Case "B"
            sngResult = 0.5
        Case "C"
            sngResult = 0.75
        Case "F"
            sngResult = 1.5
        Case "J"
            sngResult = 2.5
        Case Else
            sngResult = Val(strMealDigit)
    End Select
     
    ConvertValue = sngResult
End Function

อยากให้ คุณไม่เห็นแก่ตัว ดู ตัว BA หรือ B A ว่่าข้อมูลถูกต้องหรือไม่
ผมเห็นว่า ตรรกกะ มันเป็นตามนี้แล้ว แต่ค่าที่ได้ ยังไม่ถูกต้อง
อยากให้ คุณไม่เห็นแก่ตัว ศึกษาว่า ข้อมูลที่ให้มา สามารถสรุปเป็นตรรกกะ
กฏเกณฑ์ ได้ ไม่เช่นนั้น programmer จะเขียนตาม requirement ไม่ได้
ขอให้เราเข้าใจมันจะง่ายขึ้น มันยังมีอีกหลายแนวคิด แต่ไม่รู้ว่า จะ work หรือไม่ สามารถทดลองดูได้
23 @R11571
ทำได้ทั้งหมดแล้วครับ
แต่ที่ผมทราบ IT จะ gen เลขใหม่ขึ้นเรื่อยๆ .กรณีเลขเป็นเศษ
      เช่น k sngResult = 2.75
             l sngResult = 3.25
             m sngResult =3.5
              n sngResult=3.75

แบบนี้เรื่อยๆครับถ้าเรามีสติผมก็จะไปเพิ่มใน module แต่ถ้าไม่สังเกตุ
จะมีตัวอะไรเตือนเราใหมครับ เช่น จำนวนเม็ดทีกินต่อวันเป้น

       n*2( ชึ่งเท่ากับ 7.5 เม็ดต่อวันครับ)

    ขอบพระคูณครูมากๆ
24 @R11573
Function CalTabletPerDay(strDFMeal, sngDFNUM As Single) As Single
Dim sngResult As Single
Dim strMealDigit As String
Dim sngTempNum As Single
Dim lngLoop As Long
Dim lngLen As Long

    sngResult = 0
     
'Loop check digit
    lngLen = Nz(Len(strDFMeal))
    For lngLoop = 1 To lngLen
        strMealDigit = Mid(strDFMeal, lngLoop, 1)
'if digit = "0" then use DFNUM
        If strMealDigit = "0" Then
            sngTempNum = sngDFNUM
        Else
'แก้ไขตรงนี้ เวลา check ให้กด CTRL+G เปิดหน้าต่าง immediate window เพื่อดูค่า ที่ไม่มี
             If ChkVar(strMealDigit) Then
                 sngTempNum = ConvertValue(strMealDigit)
            Else
                 Debug.Print strMealDigit
            End If

        End If
        sngResult = sngResult + sngTempNum
    Next lngLoop
     
    CalTabletPerDay = sngResult
End Function

Function ChkVar(strDFMeal As String) As Boolean
Dim Var(6) As String
Dim i As Integer
ChkVar = True
If Val(strDFMeal) > 0 Then Exit Function
If strDFMeal = " " Then Exit Function
Var(0) = "A"
Var(1) = "B"
Var(2) = "C"
Var(3) = "D"
Var(4) = "F"
Var(5) = "J"

ChkVar = False
For i = 0 To 5
    If Var(i) = strDFMeal Then
           ChkVar = True
           Exit For
    End If
Next
End Function
25 @R11575
ตอบ (R11571)
กรณี IT gen เลขใหม่มาเพิ่ม
อยากให้เป็นแบบไหนครับ
ถ้าให้ผมคิดคร่าวๆ ตอนนี้ อาจใช้ วิธี คืนค่าเป็น -1 (เพราะตอนนี้ function จะคืนค่าเป็นตัวเลขเท่านั้น) แล้วใช้สายตา ตรวจเองว่า ตัวอะไรเกินมา
หรือไม่ก็สร้าง function เพิ่มเพื่อตรวจจับโดยเฉพาะ
26 @R11576
Function CalTabletPerDay(strDFMeal, sngDFNUM As Single) As Single
Dim sngResult As Single
Dim strMealDigit As String
Dim sngTempNum As Single
Dim lngLoop As Long
Dim lngLen As Long

    sngResult = 0
     
'Loop check digit
    lngLen = Nz(Len(strDFMeal))
    For lngLoop = 1 To lngLen
        strMealDigit = Mid(strDFMeal, lngLoop, 1)
'if digit = "0" then use DFNUM
        If strMealDigit = "0" Then
            sngTempNum = sngDFNUM
        Else
            sngTempNum = ConvertValue(strMealDigit)
        End If

        If sngTempNum = -1 Then   'ถ้าคืนค่า -1 จากการตรวจ digit เมื่อไร แปลว่ามีค่าที่ไม่เคยพบ ให้หยุดการทำงานแล้วคืนค่า -1
            sngResult = -1
            Exit For
        End If

        sngResult = sngResult + sngTempNum
    Next lngLoop
     
    CalTabletPerDay = sngResult
End Function


Function ConvertValue(strMealDigit As String) As Single
Dim sngResult As Single
    sngResult = Val(strMealDigit)

    If sngResult = 0 Then
        Select Case strMealDigit
            Case " "       'แก้ตรงนี้ครับ จากเดิม "" (zero-length sting) เป็นค่า space
               sngResult = 0
            Case "A"
               sngResult = 0.25
            Case "B"
               sngResult = 0.5
            Case "F"
               sngResult = 1.5
            'Case ...
               'sngResult = ...
            Case Else
               sngResult = -1
        End Select

     End If

    ConvertValue = sngResult
End Function
27 @R11582
ขอบพระคุณอจใหญ่ PichaiTC มากครับที่เสียสละเวลา

ผมต้องมีประชุมวันศุกร์ผมนี้ ทำทันแน่ครับ   

ขอบคุณจากใจจริงที่ช่วยเหลือเพื่อนมนุษย์ด้วยกัน

ทางอ้อมเป็นการช่วยชาติเราจากการที่ต้องเสียเงินค่ายาเกือบแสน

ล้านบาทต่อปีแล้วครับ
                                           ไม่เห็นแก่ตัว แต่เห็นแก่ชาติครับ
28 @R11584
โอ๊ะ !!!
คุณอยู่วงการแพทย์ แล้วมาเรียกผมว่า "อจ.ใหญ่" นี่รู้สึกเสียวๆนะครับ

Your welcome.

ยินดีที่มีส่วนช่วยชาติครับ (เอาไปคุยกับลูกให้ภูมิใจในตัวพ่อคนนี้ได้แล้ว ^_^ )
29 @R11586
      55555555

   ลืมไปครับ   
อยากให้มีคนแบบพวกเรามากๆๆ ประเทศจะเจรืญ

เกลียด corruption
30 @R11589

ถามเป็นความรู้หน่อยครับ
การรู้ว่า 1 วัน ใช้ยากี่เม็ด ช่วยประหยัดอะไรได้บ้างครับ
31 @R11598
     เรียนอจ .ditasilk ตรับ
อจ.ทราบไหมว่า มีคนไข่้จำนวนมาก.มากๆ ที่มียาอยู่กับตัว และหากทานตาม พ.กำหนด   จะสามารถทานได้นานมากกว่า 1 ปี

แต่ผป ก็ยังมารับยาใหม่เรื่อยๆ เพราะไม่ต้องเสียเงิน

   ยาเก่าก็นำไปตั้งไว้เฉยๆ บางครั้งก็หมดอายุก่อน

   ถ้าอยากรู้ตาม web นี้ครับ

                 http://tinyurl.com/7to6gb3

   ค่าใช้จ่ายที่เพิ่มแต่ละปี ประเทศจะรับไม่ไหวอยู่แล้ว กรมบัญชีกลาง จึงต้องเรียกผู้บริหารและเภสัขกรเข้าพบโดยเฉพาะ รพ.ที่มีการเบิกค่ายามาก (ผมโดนด้วย กรรม)
   ให้ออกมาตรการมาควบคุมค่าใช้ให้ลดลงเช่นห้ามจ่ายยา เกิน 1เดือน

ยาที่แพงที่สุดของ รพ ผม 90,000 บาท/vial

หรือ Temodal 100 mg 8,000 วันหนึ่งกิน 7 เม็ด จ่ายเกินไป 10 เม็ด ก้ เกือบแสนแล้วครับ แต่ละมีเดือนมีผป.หลายคนครับ ไม่ใช่ 1เม็ดหรือ 1 คน

             น่าเศร้าประเทศไทยครับ ประเทศที่รวยๆ เขายังให้ co-pay
เพื่อให้เขารู้ถึงคุณค่ายา ค่าใข้จ่ายยาครับ
32 @R11599
ผมก็ต้องไปเอายาจากบัตรทอง (30 บาท) ทั้งหมอ ทั้งพยาบาล ทั้งเภสัชห่องจ่ายยาก็บอกเลยว่าไม่สามารถจ่ายยาได้เกิน 1 เดือนเพราะเป็นกฏ พอครบเดือนก็ต้องไปหาหมอให้เขียนใบสั่งจ่ายยาใหม่ แล้วทำไมกรณีของคุณถึงบอกว่า ผป. ไปรับยาฟรีได้เรื่อยๆ

วิธีป้องกัน ก็กันได้ตั้งแต่ระดับแพทย์ตรวจสอบว่าไม่ให้จ่ายยาเกิน 1 เดือนและให้ห้องจ่ายยาต้องกำชับบอกผู้ป่วย ห้องจ่ายยาสามารถทำโปรแกรมเพื่อเช็คได้ว่า มาครั้งก่อนได้ยาไปควรจะหมดหรือใกล้หมดแล้วหรือยัง ถ้าจำนวนและ/หรือมูลค่ายาที่ผู้ป่วยยังควรมีอยู่ในมือเกินระดับที่กำหนด ก็ต้องมีมาตรการอะไรสักอย่าง อยู่ที่ผู้ใหญ่จะตัดสินใจ การให้จ่ายบางส่วนในกรณีที่คำนวนแล้วยังควรมียาอยู่ในมือแต่ยังมารับยาใหม่ ก็น่าจะเป็นมาตรการที่น่าพิจารณา แต่บางทีก็ต้องดูเป็นกรณีไปด้วย เช่น ผป.ไม่มีเงิน แต่ต้องได้ยาแพง แล้วเกิดยาหายไปจริงๆ การจะให้เขามาจ่ายบางส่วนด้วยก็เป็นเรื่องไม่ดีแน่

แล้วโปรแกรมเมอร์เป็นของหน่วยงานเองหรือมาจาก บ.ที่ว่าจ้างมาครับ แค่อยากทราบเท่านั้น
33 @R11601
ผมเห็นคุณลุง คุณป้า ข้างบ้าน หอบยามาให้คนโน้น คนนี้ บอกว่า ลุง(ป้า) ทานไม่หมดหรอก เค้าให้มาเยอะ
ผมถามไปว่า ทาง ร.พ.ให้มากี่เดือนล่ะ ได้รับคำตอบว่า 3 เดือนบ้าง 6 เดือนบ้าง ก็ต้องกลับมานั่งคิดว่า คงเป็นเพราะบุคลากรไม่พอ หรือคนไข้มากเกิน เลยต้องจ่ายยาเยอะ เพื่อให้รอบการกลับมาพบหมออีกครั้งนานขึ้น แบ่งเบาภาระงานที่หนักของบุคลากรทางสาธารณะสุข แต่ผมไม่แน่ใจว่ามันเป็นวิธีการที่ดีที่สุดสำหรับpatient focus
การทานยาโดยไม่รูว่า response เปลี่ยนแปลงอย่างไร เช่นยาความดัน ยาไขมัน เบาหวาน แล้วเค้า monitor กันยังไง ในระหว่างทานยา
ผู้ป่วยทานยาครบ ถูกต้อง หรือไม่ ยาเหลือมากน้อยแค่ไหน ควรนำยากลับมาหาหมอ เภสัชกร เพื่อตรวจสอบดีมั้ย งานมากขึ้น เชิงรุกมากขึ้น หรือต้องรุกไปบ้านผู้ป่วย ?????
ตัวกลไกอยู่ที่หมอ ที่เขียนใบสั่งยานั่นแหละ ต้องร่วมมือกันเป็นทีม ถ้าเขียนสั่งอย่างเดียว แล้วมารับตรวจสอบโดยเภสัชกร งานนี้สูญเสียมากกว่าครับ
แล้วมาตรการของคณะกรรมการยาต้องเข้มแข็ง ถ้าคุณบอกว่าคนไข้ทานยาได้เป็นปี แล้วมาตรการยังไม่รัดกุม รับรองว่าอีกไม่นานอาจไม่มีเงินจ่ายเงินเดือนนะครับ   
34 @R11603
ผมดีใจมากๆครับ ที่ อจ.สันติสุข อจ. ditasilk รวมถึง อจ.PichaiTC ที่น่าจะเข้ามาอ่านด้วย เพราะผมรู้ว่าคนใน board มีจิตใจดีงามรักชาติ แต่ผมไม่อยากให้ borad นี้กลายเป็น borad เรื่องยาไป

1   โปรแกรมของผมเป็นโปรแกรมสำเร็จรูปครับ จะเอาอะไรเพิ่มต้องดูข้อตกลงครับต้องเพิ่มเงินไหม?

2    โปรแกรม on-line สามารถ check ได้ว่ายังมีผปได้ยาอะไรบ้าง แต่ผู้สั่งไม่เคยดูครับ และอีกอย่างก็ไม่แน่นอนครับ เช่นผป. มาหาหมอนัดวันที่ 6
        แต่วันที่ 1มาหาหมอ clinic เอา cpm # 30 กิน 1X3
              วันที่ 2 มาอีก cpm # 20กิน 1X3 คนละคลินิก
วันที่ 6หากเขา click ดู จะเหลือยา 24 เม็ด ทั้งๆที่ยาเหลือจริง15+20 เม็ด

3   เคยจับได้ว่าผป(โดยเฉพาะ ข้าราชการ).นำยาแพงๆ ไปขายตามร้านขายยา,ขายผป. 30 บาท(ยานอกบ/ช ยาหลักแห่งชาติ ผป.ต้องชำระเงินเอง) ต่างๆ คนละจังหวัดให้สั่งยาก็มี ยาแพงๆทั้งนั้นจับติด) และผมขอยียยันว่ามีการนำยาไปแจกคนอื่นครับ

4   มีการเวียนเทียนมารับยาซ้ำแล้ว ซ้ำเล่า คนสั่งเขาไม่มีเวลาตรวจสอบ.ครับ
มีการ shopping around ไปตามจังหวัด รพ.ต่างๆ )

    สงสัยว่าทำไมอจสันติสุข ต้องเสียเงินครับ ที่อจไปรับยาได้ 1 เดือนแสดงว่า รพ.นั้นเขามีมาตรการห้ามสั่งยาเกิน 1เดือนแล้ว


        อจ.ditasilk อยู่ในวงการแพทย์หรือเปล่าครับ เพราะว่าที อจ.แนะนำ เป็นไปตามทฤษฎีครับ แต่พวกเราทำไม่ไหวจริงๆ ตั้งแต่เริ่มมีระบบจ่ายตรง , 30 บาท
คนไข้ล้นมาก

   บางครั้งมีการเปลี่ยนยา จะแนะนำให้ทิ้งทั้งหมดครับ เพราะเราไม่แน่ใจว่าผป.เก็บยาดีขนาดไหน ยาเสื่อมแล้วยัง จ่ายมาให้ผม ๆก็ไม่เอาครับ

5   ต้นทางคือคนที่สั่งยา ก็น่าเห็นใจครับเพราะผป.มากเหลืือเกิน บอกให้ผป.นำยามาที่เหลือมา เขาก็ไม่ยอมนำมาครับ เอายาไหมดีกว่า คนสั่งก็ repeat ยาเก่า แต่ผป.บางคนก็มาหาหมอใหม่อีก clinic บางครั้งก็ได้ยาเดืมครับ

6.ที่น่าเจ็บใจคือ การเมืองครับไม่ยอมทำมีมาตราการที่รับกุม ผมเห็นด้วยคนที่ไม่มี
เงินควรได้เข้าถึงการรับบริการรักษาครับ

        รพ.ผมเดือนที่แล้วถูก สตง. ไปสุ่มตรวจสอบ 3 เดือน เขาเรียกเงินคืน 20 ล้านบาทครับ

              สบายใจที่ได้ระบายครับ

ตั้งแต่กระทู้ ไม่เห็นแก่ตัว(R11598) อจ ลบออกได้ไหมครับ เพราะผมจะเริ่มรู้แล้วว่าผมทำงาน รพ.ไหน เดียวผมซวยครับ

                      สวัสดีปีใหม่ อจ.ทุกท่านครับ จิตใจอันดีงามไม่หวังผลตอบแทน มันจะเป็นผลบุญกลับมาถึง อจ.เองครับ แม้นเราไม่ต้องการ

     ปล.ผมขอยีนยัยอีกทีว่าผมเปิด Board ouh อ่านทุกวันเพื่อ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3096s