2013-02-27 193 views
2

我想用特殊格式保存一些數據。例如:如何在MS訪問數據庫中保存Linebreak

  • AAAA
  • BBBB
  • CCCC
  • DDDD

我可以在Access保存這些信息,但是當我想向他們展示給用戶。它在文本框中顯示如下: AAAABBBBCCCCDDDD 退出任何換行符。 我的問題是:如何在MS Access DB中保存Linebreaks?

非常感謝您的幫助!

編輯1

即我有一個.txt文件的信息塊:

KENNLINIE KLPRAIL 3 
    LANGNAME "Kennlinie zur Umsetzung Raildrucksensorspannung in Raildruck" 
    FUNKTION GGDSKV 
    EINHEIT_X "V" 
    EINHEIT_W "MPa" 
    ST/X 0.4980468750000000 1.8002319335937500 5.0000000000000000 
    WERT 0.0000000000000000 4.5000000000000000 15.5600000000000000 
END 

我想保存KLPRAIL 3在一列

EINHEIT_X "V" 
    EINHEIT_W "MPa" 
    ST/X 0.4980468750000000 1.8002319335937500 5.0000000000000000 
    WERT 0.0000000000000000 4.5000000000000000 15.5600000000000000 

另一列

我可以做這個工作與代碼塊:

Dim kennL As String 
Dim kennLS As Boolean 
Dim kennLvalue As String 
Dim kennLwert As String 
Dim keLx As String 
Dim keLw As String 
Dim kelwer As String 


kennL = InStr(1, entireline, "KENNLINIE") 
keLx = InStr(1, entireline, "EINHEIT_X") 
keLw = InStr(1, entireline, "EINHEIT_W") 
keLsx = InStr(1, entireline, "ST/X") 
kelwer = InStr(1, entireline, "WERT") 
keLend = InStr(1, entireline, "END") 

If kennL = 1 Then 
kennLvalue = Mid(entireline, 10) 
kennLS = True 
End If 

If keLx = 4 And kennLS = True Then 
kennLwert = kennLwert + Mid(entireline, 4) + vbNewLine 
End If 


If keLw = 4 And kennLS = True Then 
kennLwert = kennLwert + Mid(entireline, 4) + vbNewLine 
End If 

If kennLS = True And (keLsx = 4 Or kelwer = 4) Then 
kennLwert = kennLwert + Mid(entireline, 4) + vbNewLine 
End If 
If kennLS = True And keLend = 1 Then 

DoCmd.RunSQL ("INSERT INTO Test_dcml (WertName,WertValue) VALUES ('" & kennLvalue & "','" & kennLwert & "');") 
kennLS = False 
End If 

,但如果我告訴這個信息給用戶。這些信息是這個樣子:

EINHEIT_X "V" EINHEIT_W "MPa" ST/X 0.4980468750000000 1.8002319335937500 5.0000000000000000 WERT 0.0000000000000000 4.5000000000000000 15.5600000000000000 

EDIT2

I use this code to show this Information to user: 
Dim rcst As Recordset 
Set rcst = CurrentDb.OpenRecordset("Test_Wertquery") 
rcst.MoveFirst 
Text5.SetFocus 
Me.Text5.Text = rcst.Fields("WertValue").Value 
+0

您可以添加vbNewLine來執行換行符,但請發佈您的代碼以使其更清晰。 – Belial09 2013-02-27 09:39:11

+0

我做到了。我用vbNewline,但它似乎不起作用 – Kaja 2013-02-27 09:49:57

+0

「這些信息是這樣顯示的」它是如何顯示的?控制表單?在報告上?文本框 ?問題很模糊 – 2013-02-27 09:54:25

回答

1

由於您的存儲文本值在MsgBox正確顯示,是意味着換行符正確存儲在您的表中。所以問題在於文本框。

檢查複選框屬性表的「數據」選項卡上的「文本格式」屬性。

text box Text Format property

將其更改爲「純文本」如果它不是已經被設置爲這樣的。使用「富文本」作爲格式,文本框內容中的換行符將被忽略。

0

我會做這樣的:

Dim rcst As DAO.Recordset 
Set rcst = CurrentDb.OpenRecordset("Test_Wertquery") 

If Not rcst.EOF Then 
    rcst.MoveFirst 
    Me.Text9 = rcst.Fields("WertValue").Value 
    rcst.Close 
End If 

Set rcst = Nothing 
+0

謝謝你的回答,但問題仍然存在:/ – Kaja 2013-02-27 10:32:32

+0

做這種改變的東西 Me.Text9 = RCST WertValue – Belial09 2013-02-27 10:41:06

+0

不幸的是沒有改變 – Kaja 2013-02-27 10:50:46