2013-02-27 190 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