Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Xuất giá trị từ các Text Box ra file TXT
#1
Các bác cho em hỏi có cách nào xuất giá trị từ các textbox ra file txt theo điều kiện không ạ? 
VD: Em nhập 50 vào ô giữ lại số lượng trong From sau
[Hình: Untitled_1.jpg]
Thì nó sẽ xuất ra file .txt nội dung có dạng: 
Trích dẫn:loaiA=310, loaiB=680, loaiC=90

Lấy giá trị gốc trừ đi số lượng muốn giữ lại ra giá trị cần export. Bác nào giúp em với ạ, e đang rất cần
File ví dụ đây ạ, bác nào code vào đây luôn giúp em thì càng tốt, em xin cảm ơn big green
http://www.fshare.vn/file/CBA93EHY4FIX
Chữ ký của k3nzyyb Xin chào, mình là k3nzyyb, Tham gia http://thuthuataccess.com/forum từ ngày 22-11 -14.
Reply
Những người đã cảm ơn
#2
Cách làm này của tôi chỉ xuất nhưng gì hiển thị trên textbox trên form, không xuất dữ liệu từ table hay query của form.
Share với bạn 2 kiểu xuất: Excel và Txt.
- Tạo thêm 1 textbox dùng để lưu cái chuỗi tổng hợp như bạn yêu cầu [txtTongHop].
- Viết 2 cái Sub, XuatExcel và writeText (dùng FileSystemObject). Code như bên dưới.

Mã PHP:
Sub XuatExcel()
Dim xlApp As Object
Set xlApp 
CreateObject("Excel.Application")
With xlApp
   
.Workbooks.Add  'Open ("D:\TestFile.xlsx")'
   .Sheets("Sheet1").Select
   
.Range("A1") = Me.txtTongHop.Value
   
.Visible True
   
'.ActiveWorkbook.Close True'
End With
Set xlApp 
Nothing
End Sub

Sub writeText
(strText As String)
   Const ForReading 1ForWriting 2ForAppending 8
   Const TristateUseDefault 
= -2TristateTrue = -1TristateFalse 0
   Dim fso
MyFileFileNameTextLine
   Set fso 
CreateObject("Scripting.FileSystemObject")
   'Duong dan file .txt se xuat ra'
   FileName "D:\TestFile.txt"
   Set MyFile fso.OpenTextFile(FileName2True, -1'-1: Unicode; 0: ASCII; -2: System default'
   MyFile.WriteLine strText
   MyFile
.Close
End Sub

Sub TongHopChuoi
()
   Dim strText As String
   strText 
Me.Label2.Caption Me.Text1 Me.Text8 ", "
   strText strText Me.Label4.Caption Me.Text2 Me.Text8 ", "
   strText strText Me.Label6.Caption Me.Text3 Me.Text8
   Me
.txtTongHop strText
End Sub

Private Sub cmdXuatExcel_Click()
   Call TongHopChuoi
   Call XuatExcel
End Sub

Private Sub cmdXuatTxt_Click()
   Call TongHopChuoi
   Call writeText
(Me.txtTongHop.Value)
End Sub 

File demo: http://www.mediafire.com/download/lo1xg9...T%29.accdb
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn k3nzyyb , quyvt1993
#3
Cho mình hỏi thêm với ongke0711 ơi, VD như số textbox mình muốn xuất là mấy chục cái thì phải làm như nào. Chứ viết từng cái strText như thế này thì dài quá. Có cách nào viết vòng lặp For được không? Ví dụ như này:
 
Mã PHP:
Sub TongHopChuoi()
For 
i=0 to 70
  strText
[i] Me.Label[i].Caption Me.Text[i] Me.Text8 ", "
....
  Me.txtTongHop strText
End Sub 
Mình không trình bày được ra code, mong bạn giúp đỡ
Chữ ký của k3nzyyb Xin chào, mình là k3nzyyb, Tham gia http://thuthuataccess.com/forum từ ngày 22-11 -14.
Reply
Những người đã cảm ơn
#4
Nếu nhiều vậy thì đưa dữ liệu vô table rồi xuất cho nhanh bạn.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn k3nzyyb
#5
(05-01-16, 11:58 AM)ongke0711 Đã viết: Nếu nhiều vậy thì đưa dữ liệu vô table rồi xuất cho nhanh bạn.

Thực ra như trong ví dụ kia mình load dữ liệu từ table ra mà bạn, trong table  có nhiều bản ghi cùng loại hàng : A, B, C... Ở form mình load chúng ra tổng lại, giờ xuất ra txt lại phải lưu lại thì có nhiều bước quá không?
Chữ ký của k3nzyyb Xin chào, mình là k3nzyyb, Tham gia http://thuthuataccess.com/forum từ ngày 22-11 -14.
Reply
Những người đã cảm ơn
#6
Bạn dùng table tạm đi. Sau khi nhập SL giữa lại -> query ra table tạm rồi xuất.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#7
(05-01-16, 03:11 PM)ongke0711 Đã viết: Bạn dùng table tạm đi. Sau khi nhập SL giữa lại -> query ra table tạm rồi xuất.

Bạn làm thử giúp mình nốt phần đó được ko? :big green  Chân thành cảm ơn bạn
Chữ ký của k3nzyyb Xin chào, mình là k3nzyyb, Tham gia http://thuthuataccess.com/forum từ ngày 22-11 -14.
Reply
Những người đã cảm ơn
#8
Như bạn nói thì phải thao tác lưu trên bảng ah bạn? Mình muốn vẫn thao tác trên form đó có còn cách nào nữa ko bạn? Mong bạn chỉ giáo, mình ko học căn bản mà toàn mò từ cái này qua cái kia nên ko biết làm thế nào?
Chữ ký của k3nzyyb Xin chào, mình là k3nzyyb, Tham gia http://thuthuataccess.com/forum từ ngày 22-11 -14.
Reply
Những người đã cảm ơn
#9
Để tạo table tạm "tblTemp" bạn dùng 2 cái query: 
- qryTaotblTemp: tạo table với các dòng [Loai] đã sum số lượng và thêm 1 cột [SLGiuLai] có trị = 0.
- qryUpdateSLGiuLai: cập nhật vào cột [SLGiuLai] của tblTemp số lượng lấy từ form Test.
Sau đó viết code cho Sub TongHopChuoi () như sau:

Mã PHP:
Sub TongHopChuoi()
 
   Dim strText As String
   Dim rst 
As DAO.Recordset

   Set rst 
CurrentDb.OpenRecordset("tblTemp"dbOpenDynaset)
   rst.MoveFirst
   strText 
""
   With rst
       Do Until rst
.EOF
           strText 
strText "Loai " & !Loai " = " & !SLGiuLai ", "
           .MoveNext
       Loop
   End With
   strText 
Left(strTextLen(strText) - 2)
   Me.txtTongHop strText
End Sub 

Khi chạy, bạn chạy lần lượt qryTaotblTemp -> qryUpdate -> TongHopChuoi () -> Xuat text.

File demo: http://www.mediafire.com/download/lo1xg9...T%29.accdb
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn k3nzyyb , maidinhdan
#10
(05-01-16, 10:59 PM)ongke0711 Đã viết: Để tạo table tạm "tblTemp" bạn dùng 2 cái query: 
- qryTaotblTemp: tạo table với các dòng [Loai] đã sum số lượng và thêm 1 cột [SLGiuLai] có trị = 0.
- qryUpdateSLGiuLai: cập nhật vào cột [SLGiuLai] của tblTemp số lượng lấy từ form Test.
Sau đó viết code cho Sub TongHopChuoi () như sau:

Mã PHP:
Sub TongHopChuoi()
   Dim strText As String
   Dim rst 
As DAO.Recordset

   Set rst 
CurrentDb.OpenRecordset("tblTemp"dbOpenDynaset)
   rst.MoveFirst
   strText 
""
   With rst
       Do Until rst
.EOF
           strText 
strText "Loai " & !Loai " = " & !SLGiuLai ", "
           .MoveNext
       Loop
   End With
   strText 
Left(strTextLen(strText) - 2)
   Me.txtTongHop strText
End Sub 

Khi chạy, bạn chạy lần lượt qryTaotblTemp -> qryUpdate -> TongHopChuoi () -> Xuat text.

File demo: http://www.mediafire.com/download/lo1xg9...T%29.accdb

Cảm ơn bạn nhiều, mình đã làm được rồi
Sửa lại 1 chút chỗ strText phải là :
Mã:
strText = strText & "Loai " & !Loai & " = " & !SSL - !SLGiuLai & ", "
Số lượng - SL Giữ lại = SL để xuất ra 

1 lần nữa  cảm ơn bạn nhiều ^^
Chữ ký của k3nzyyb Xin chào, mình là k3nzyyb, Tham gia http://thuthuataccess.com/forum từ ngày 22-11 -14.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
Question [Help] Link tất các table trong một file.mdb bằng VBA MinhnHang 9 238 09-12-16, 06:11 PM
Bài mới nhất: maidinhdan
Photo Hướng dẫn tính tôn kho từ một bảng chi tiết nhập xuất tt1212 8 399 17-06-16, 04:47 PM
Bài mới nhất: tt1212
  Về việc lập trình truy xuất thông tin từ cổng RS232 trong Access VBA lehongduc 0 134 23-05-16, 11:43 AM
Bài mới nhất: lehongduc
  Tùy chọn liên kết đến file Data DoquangLam 20 7,980 08-08-15, 10:45 PM
Bài mới nhất: maidinhdan
  [Hỏi] Code gửi một File đến một địa chỉ mail có sẵn truonggiang 0 342 23-10-14, 11:44 AM
Bài mới nhất: truonggiang

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ