Page 1 of 1
ปัญหาเรื่องการกรอกข้อมูลบนUserFormเพื่อexpost เป็น XML
Posted: Tue May 27, 2014 11:54 pm
by icocoman
cosmetiic-v5test.xlsm
รบกวนสอบถามค่ะอาจารย์
หนูสร้าง UserForm เพื่อคีย์ข้อมูลต่างๆลงใน sheet ที่ต้องการ จากนั้นหนูได้ทำการแมป XML แต่ข้อมูลแรกที่บันทึกมันไม่อยู่ในตารางที่ได้แแมป XML และทำให้การรันลำดับรวนค่ะ
จากนั้นหนูลองแก้ปัญหาโดยการใส่ลำดับ 0 ไว้ที่บรรทัดแรกของตาราง ผลที่ได้คือสามารถกรอกได้ตามปกติค่ะ
หนูอยากทราบวิธีที่ทำให้สามารถกรอกข้อมูลลงบนบรรทัดแรกได้โดยไม่ต้องใส 0 ค่ะ
ขอบพระคุณค่ะอาจารย์

Re: ปัญหาเรื่องการกรอกข้อมูลบนUserFormเพื่อexpost เป็น XML
Posted: Wed May 28, 2014 12:43 am
by bank9597
icocoman wrote:cosmetiic-v5test.xlsm
รบกวนสอบถามค่ะอาจารย์
หนูสร้าง UserForm เพื่อคีย์ข้อมูลต่างๆลงใน sheet ที่ต้องการ จากนั้นหนูได้ทำการแมป XML แต่ข้อมูลแรกที่บันทึกมันไม่อยู่ในตารางที่ได้แแมป XML และทำให้การรันลำดับรวนค่ะ
จากนั้นหนูลองแก้ปัญหาโดยการใส่ลำดับ 0 ไว้ที่บรรทัดแรกของตาราง ผลที่ได้คือสามารถกรอกได้ตามปกติค่ะ
หนูอยากทราบวิธีที่ทำให้สามารถกรอกข้อมูลลงบนบรรทัดแรกได้โดยไม่ต้องใส 0 ค่ะ
ขอบพระคุณค่ะอาจารย์

ผมลองเปิดแล้ว ไม่สามารถเลือกค่าจาก combobox ได้ครับ
ลองตรวจสอบและอธิบายหลักการทำงานอีกครั้งครับ
Re: ปัญหาเรื่องการกรอกข้อมูลบนUserFormเพื่อexpost เป็น XML
Posted: Wed May 28, 2014 12:52 am
by icocoman
เลือกได้ปกตินะค่ะ ยกเว้นช่อง CasNo ยังไม่ได้กรองข้อมูล
Re: ปัญหาเรื่องการกรอกข้อมูลบนUserFormเพื่อexpost เป็น XML
Posted: Wed May 28, 2014 12:59 am
by bank9597
icocoman wrote:เลือกได้ปกตินะค่ะ ยกเว้นช่อง CasNo ยังไม่ได้กรองข้อมูล

แต่ผมคิดว่าไม่น่าจะเลือกรายการได้น่ะครับ ลองดูโค๊ดครับ
Code: Select all
Private Sub UserForm_Initialize()
'Dim c1 As Range
'Dim ws1 As Worksheet
'Set ws1 = Worksheets("Datalist")
'For Each c1 In ws1.Range("ulname")
' With Me.ComboBox1
' .AddItem c1.Value
' .List(.ListCount - 1, 1) = c1.Offset(0, 1).Value
' End With
'Next c1
'Range("A2").Select
'Do While Not IsEmpty(ActiveCell.Value)
' ComboBox1.AddItem ActiveCell.Value
' ActiveCell.Offset(1, 0).Select
'Loop
End Sub
คุณทำคอมเมนท์ไว้ทั้งหมดทุกบรรทัดครับ
Re: ปัญหาเรื่องการกรอกข้อมูลบนUserFormเพื่อexpost เป็น XML
Posted: Wed May 28, 2014 1:09 am
by icocoman
ขั้นตอนแรกคุณต้องกดที่ปุ่ม"เพิ่ม"ก่อนแล้วจึงจะเลือกสารได้
ส่วนโค๊ดที่คุณให้มาใช้แล้วแต่ ขึ้น run-time error '70' ค่ะ
Re: ปัญหาเรื่องการกรอกข้อมูลบนUserFormเพื่อexpost เป็น XML
Posted: Wed May 28, 2014 1:16 am
by bank9597
icocoman wrote:ขั้นตอนแรกคุณต้องกดที่ปุ่ม"เพิ่ม"ก่อนแล้วจึงจะเลือกสารได้
ส่วนโค๊ดที่คุณให้มาใช้แล้วแต่ ขึ้น run-time error '70' ค่ะ

ผมยังไม่ได้ตอบครับ แค่ยกมาให้ดูว่าคุณยังไม่ใส่โค๊ดให้เรียบร้อย ผมจึงไม่สามารถเลืกค่าได้จาก combobox
ถ้าต้องการเอาค่าลงไปใน combobox ลองตามนี้ครับ
Code: Select all
Private Sub UserForm_Initialize()
Me.ComboBox1.RowSource = "ulname"
Me.ComboBox2.RowSource = "ulcas"
End Sub
เวลาเรากดเพิ่มสาร ต้องการให้ตัวเลขเริ่มรันจากเลขใด เช่น เริ่มจาก 1 เป็นต้น
Re: ปัญหาเรื่องการกรอกข้อมูลบนUserFormเพื่อexpost เป็น XML
Posted: Wed May 28, 2014 1:45 am
by icocoman
รบกวนอีกรอบนะค่ะ
คีย์ข้อมูลและบันทึกได้แล้วค่ะแต่ข้อมูลไม่อยู่ในตาราง XmlMaps คืออยากให้ข้อมูลมันอยู่ในแถวที่2
http://image.ohozaa.com/view2/xCcUMxcetpdnz05x
ตัวอย่างตามไฟล์ที่แนบไปค่ะ sheetค่ะ^^
Re: ปัญหาเรื่องการกรอกข้อมูลบนUserFormเพื่อexpost เป็น XML
Posted: Wed May 28, 2014 2:42 am
by bank9597

ผมปรับโค๊ดให้บางส่วน ให้กระทัดรัดขึ้น
ส่วนการบันทึกลงที่บรรทัดแรกยังทำไม่ได้เช่นกันครับ เนื่องจากเป็นฟังชั่น Table ไม่ใช่การบันทึกลงบนตารางธรรมดา
ต้องลองดูอีกหน่อยครับ หรือรอให้ท่านอื่นๆเข้ามาช่วยอีกครับ
Re: ปัญหาเรื่องการกรอกข้อมูลบนUserFormเพื่อexpost เป็น XML
Posted: Wed May 28, 2014 8:39 am
by niwat2811
Code: Select all
Private Sub ButtonSave_Click()
Dim irow As Long
Dim iPart As Long
Dim ws As Worksheet
Sheet1.Activate
Set ws = Worksheets("¢éÍÁÙÅÊÙµÃ")
'find first empty row in database
irow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Row
'iPart = Me.ComboBox1.ListIndex
'check for a part number
'copy the data to the database
With ws
.Cells(irow, 1).Value = Me.Label5.Caption
.Cells(irow, 2).Value = Me.ComboBox1.Value
.Cells(irow, 3).Value = Me.ComboBox2.Value
.Cells(irow, 4).Value = Me.TextBox1.Value
End With
Range("A" & Rows.Count).End(xlUp).Select
Selection.ListObject.ListRows.Add AlwaysInsert:=True
Me.ButtonName.Enabled = True
Me.ButtonSave.Enabled = False
Me.ButtonClose.Enabled = True
End Sub
ลองแบบนี้ดูว่าได้ตรงตามต้องการไหมครับ
Re: ปัญหาเรื่องการกรอกข้อมูลบนUserFormเพื่อexpost เป็น XML
Posted: Wed May 28, 2014 10:13 am
by icocoman
ขอบคุณค่ะคุณ bank9597 และ niwat2811 ทำได้แล้วค่ะ
แต่ขอความกรุณาอีกครั้งนะค่ะ มี2 เรื่องดังนี้
1. เมื่อexportเป็นXML <CustomerInfo/> เกินมาค่ะ ซึ่งทำให้ดึงมาใช้ใน phpไม่ได้ค่ะ
แก้ยังไงได้บ้างค่ะ
Code: Select all
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<CISData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CustomerInfo>
<Idno>1</Idno>
<chmbasenm>WALNUT EXTRACT</chmbasenm>
<volume>0.1</volume>
</CustomerInfo>
<CustomerInfo>
<Idno>2</Idno>
<chmbasenm>(HEXAHYDRO-2H-AZEPIN-2-YLIDENE)BISPHOSPHONIC ACID, DISODIUM SALT</chmbasenm>
<volume>10</volume>
</CustomerInfo>
<CustomerInfo/>
</CISData>
2. เมื่อเลือกข้อมูลชื่อสารใน ComboBox หนูต้องการให้ฟิลข้อมูล fdano,runnoและcasno ในsheet "Datalist" มาแสดงในsheet "ข้อมูลสูตร" ทำอย่างไรได้บ้างค่ะ
ขอบคุณค่ะ
Re: ปัญหาเรื่องการกรอกข้อมูลบนUserFormเพื่อexpost เป็น XML
Posted: Wed May 28, 2014 11:04 am
by bank9597

ถ้าเป็น XML ไม่ทราบเช่นกันครับ ลองรอท่านอื่นมาช่วยดูครับ
http://www.mrexcel.com/articles/using-xml-in-excel.php
Re: ปัญหาเรื่องการกรอกข้อมูลบนUserFormเพื่อexpost เป็น XML
Posted: Wed May 28, 2014 11:25 am
by icocoman
ขอบคุณค่ะ พอทราบข้อ2 ที่ถามมั๊ยค่ะ

Re: ปัญหาเรื่องการกรอกข้อมูลบนUserFormเพื่อexpost เป็น XML
Posted: Wed May 28, 2014 12:26 pm
by bank9597
icocoman wrote:
ขอบคุณค่ะ พอทราบข้อ2 ที่ถามมั๊ยค่ะ


ลองดูตามนี้ครับ
Code: Select all
Private Sub ButtonSave_Click()
Dim irow As Long
Dim iPart As Long
Dim ws As Worksheet
Dim ws1 As Worksheet
Worksheets(2).Activate
Set ws = Worksheets("¢éÍÁÙÅÊÙµÃ")
Set ws1 = Worksheets("Datalist")
' irow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
irow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Row
With ws
With ws1
With Application
Dim casno As Range
Dim ulname As Range
.Cells(irow, 1).Value = Me.Label4.Caption
.Cells(irow, 5).Value = Me.ComboBox1.Value
.Cells(irow, 6).Value = Me.TextBox1.Value
.Cells(irow, 2).Value = .Index(ws1.Range("C2:C188"), .Match(.Cells(irow, 5), ws1.Range("D2:D188"), 0))
.Cells(irow, 3).Value = .Index(ws1.Range("B2:B188"), .Match(.Cells(irow, 5), ws1.Range("D2:D188"), 0))
.Cells(irow, 4).Value = .Index(ws1.Range("A2:A188"), .Match(.Cells(irow, 5), ws1.Range("D2:D188"), 0))
End With
End With
End With
Range("F" & Rows.Count).End(xlUp).Select
Selection.ListObject.ListRows.Add AlwaysInsert:=True
Me.ButtonName.Enabled = True
Me.ButtonSave.Enabled = False
Me.ButtonClose.Enabled = True
End Sub
Re: ปัญหาเรื่องการกรอกข้อมูลบนUserFormเพื่อexpost เป็น XML
Posted: Wed May 28, 2014 1:06 pm
by icocoman
ได้แล้วๆขอบคุณbank9597มากๆค่ะ ^^