Hallo Andreas!<BR>In meinem Prog speichere ich Datensätze in einer Access Datenbank. <BR>Später lese ich diese Daten in eine Excel Vorlage per Button Click. Dabei wird ein Datensatz in ein Datenfeld geschrieben.<BR> Wenn bei der Dateneingabe ein Return gesetzt wird, wird beim auslesen in das Excel-Datenfeld ein Zeilenumbruch gesetzt. <BR>Wie kann ich beim speichern der Daten verhindern das das Return mit gespeichert wird?<BR>Hoffentlich kannst du mir helfen!<BR>Liebe Grüße Tatjana!!!!
Announcement
Collapse
No announcement yet.
Enter-Taste ausschalten
Collapse
X
-
Hallo Tatjana,
das TextBox-Control kann das <b>KeyPress</b>-Ereignis auswerten, um bei einem vorgefundenen Return-Zeichen die Eingabe zu entwerten, indem die Eigenschaft <b>Handled</b> auf True gesetzt wird:
<pre>
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = Microsoft.VisualBasic.ChrW(13) Then
If Me.ActiveControl Is Me.TextBox1 Then
e.Handled = True
End If
End If
End Sub
</pre>
-
Hallo Tatjana,<BR>
der Vorschlag von Andreas funktioniert natürlich bestens, hat aber den Nachteil, daß der Anwender nun gar keine Chance mehr hat, Absätze zu bilden. <BR> In einem ähnlichen Fall hab ich mich mit einem zweiten String-Feld in der Datenbank beholfen (für die Übergabe an Excel) und dieses mit einer unsichtbaren zweiten Textbox in der Form verbunden und wie folgt gefüllt:<BR>
<PRE>
Private Sub TextBox1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Leave
Dim MyText1, MyText2 As String
Dim CRLF As String = Chr(13) + Chr(10)
Dim i, x As Integer
MyText1 = Me.TextBox1.Text
i = 1
'Alle CRLF (Carriage Return/Linefeed) gegen Blank austauschen
Do While i < MyText1.Length - 1
x = InStr(i, MyText1, CRLF)
MyText2 = MyText2 + Mid(MyText1, i, x - i) + " "
i = x + 2
Loop
'Ergebnis (ohne abschließendes Blank!) an unsichtbare zweite Textbox übergeben
Me.TextBox2.Text = Trim(MyText2)
End Sub
</PRE>
Nicht sehr elegant, aber es funktioniert;-)<BR> Vorteil: Innerhalb Deiner Anwendung findet der User bei erneutem Aufruf seine Formatierung mit Absätzen wieder und in Excel gibts trotzdem keine Probleme.<BR>
Gruß,<BR>
Ola
Comment
Comment