簡體   English   中英

MS Access 2003-信息從表單輸出到文本文件

[英]MS Access 2003 - Information from a form output to a text file

因此,我有一個包含大量文本框,組合框等的表單。表單模塊中有VB,用於檢查是否存在重復項,然后運行一些更新查詢以將信息保存到表中。 一切都很好。

我的問題是,我可以在此表單模塊中使用哪種VB方法從所有這些對象(txt,cmb等)中獲取信息並將其輸出/保存到文本文件中?

我僅以帶有以下三個文本框的表單為例:

Text1 - String
Text2 - Date
Text3 - True/False

我知道將它添加到數據庫表中的vb,但是我希望能夠將信息保存到文本文件中,然后使用SendObject方法將這些文本文件從字段通過電子郵件發送到總部,然后放在更大的數據庫中。

我認為Outlook sendobject在那部分上有很好的處理能力,只需要弄清楚如何使用其中的數據創建文本文件即可。 謝謝您的幫助!

您可以遍歷窗體上控件的集合,獲取控件的名稱並使用選擇大小寫以獲取控件的類型並從中獲取適當的值。

您可以將這些對寫入字符串/文本文件,然后將其制成郵件正文。

或者使用Access DoCmd.SendObject

DoCmd.SendObject acSendQuery, QueryName, acFormatXLS, emailAddress, "", "", "Form Data", "", 0

其中QueryName是提取您所需的所有信息的查詢。 這會將其作為附件XLS文件發送到電子郵件。

您要打開一個文本文件並使用write#或print#語句。 進入Access VBA,並在編寫時搜索幫助。 您會發現Write#語句,它將為您提供必要的示例代碼。 您可能需要根據您的要求使用print#語句。

您的控件,文本框,組合框等是否綁定到記錄集? 在這種情況下,您是否不希望將相關的表記錄發送給任何人或任何相關人員,而不是通過文本文件收集控件的值? 我的意思是可以這樣做,但是我真的覺得很奇怪!

編輯:在@galleySlave注釋之后,一個想法就是編寫與此代碼類似的代碼:

Dim m_dataInForm as string, _
    m_control as control

m_dataInForm = "Page Header"
for each m_control in screen.activeForm.section(1)
    m_dataInForm = m_dataInForm & m_control.caption & ": " & m_control.value & vbCr & vbLf
Next m_control
m_dataInForm = "Details"
for each m_control in screen.activeForm.section(o)
    m_dataInForm = m_dataInForm & m_control.caption & ": " & m_control.value & vbCr & vbLf
Next m_control
m_dataInForm = "Page footer"
for each m_control in screen.activeForm.section(2)
    m_dataInForm = m_dataInForm & m_control.caption & ": " & m_control.value & vbCr & vbLf
Next m_control

然后, m_dataInForm將包含所有數據標題(.caption)和值(.value)。 您可能需要一些額外的代碼來避免沒有標題(如行)或值(如標簽)的控件出現錯誤和/或以期望的格式(“是”而不是-1)獲取值。 這將花費您一些額外的說明,例如

SELECT CASE m_control.controlType

然后,您可以通過短信發送m_dataInForm值,也可以將其另存為文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM