Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: BinaryFallout am Mai 26, 2011, 08:36:48

Titel: Wo zum Teufel kommt das Leerzeichen her?
Beitrag von: BinaryFallout am Mai 26, 2011, 08:36:48
Hey hey,

ich finde einfach nicht den Grund, warum ein Leerzeichen ensteht. Hier mal der Code:


strBG_Nr = Nz(rs!BG_Nr)
strNewFilePath = "\\sambahome\Tech\Projects\" & strProjectNr & "\" & strDocName & "-" & strBG_Nr & "-Rev" & iRevisionsNr & ".doc"

Trim (strNewFilePath)
   
Name strFilePath As strNewFilePath


Später wirds in die DB geschrieben:



strSQLinsert = "INSERT INTO DocumentRevisions(DocID, Revision, DocPath, CreatedTime, ModifiedBy, FileSize, ModifyReason) " & _
                   "VALUES (" & iDocID & "," & iRevisionsNr & ",'" & strNewFilePath & "',#" & Format(Date, "dd\-mm\-yyyy\") & "#," & _
                   "0," & iFileSizeInMegaByte & ",'" & strInputBox & "')"
                   DoCmd.SetWarnings False
    DoCmd.RunSQL (strSQLinsert)







An der Stelle "-" & strBG_Nr habe ich immer zwischen Bindestrich und strBG_Nr immer ein Leerzeichen.
Trim hilft nicht. Und das Feld in der Datenbank BG_Nr welches strBG_Nr setzt, lässt nicht einmal Leerzeichen zu.

Hat da jemand eine Idee?
Titel: Re: Wo zum Teufel kommt das Leerzeichen her?
Beitrag von: DF6GL am Mai 26, 2011, 10:22:48
Hallo,


schreib mal:

strBG_Nr = trim(Nz(rs!BG_Nr,""))


Es kann schon vorkommen, dann im Tabellenfeld ein führendes Leerzeichen vorhanden ist.   "Leere Zeichenfolge" sagt nur aus, dass kein String aus nur Leerzeichen eingeben werden kann.
Vermutlich wird BG_Nr vorher schon mittels einer(m) (fehlerhaften) SQL(-String) gefüllt.


Außerdem ist das kein gültiger Datumsstring:

...Format(Date, "dd\-mm\-yyyy\") ...
Titel: Re: Wo zum Teufel kommt das Leerzeichen her?
Beitrag von: BinaryFallout am Mai 26, 2011, 10:42:04
Super, danke das hilft. Ich hatte vorher schon geguckt, aber du hattest Recht. Jetzt hab ich den Fehler auch beim schreiben in die Datenbank gefunden. War ja klar..  ::)

Das mit dem Datum funktioniert (noch?) aber so..
Titel: Re: Wo zum Teufel kommt das Leerzeichen her?
Beitrag von: DF6GL am Mai 26, 2011, 12:21:50
Hallo,

Welchen Datentyp hat "CreatedTime" in der Tabelle?

Ich wäre jetzt überrascht, wenn #31-12-2011#  von Access (wegen Verwendung von RunSQL) das in ein richtiges Format (bzw. Datumswert) umsetzen würde.


Und setz mal Warnings auf true 
Titel: Re: Wo zum Teufel kommt das Leerzeichen her?
Beitrag von: BinaryFallout am Mai 26, 2011, 12:41:18
Ich verwende Datum/Uhrzeit. Das meinst du, oder? Unter Format ist nichts eingetragen.

setWarnings habe ich extra auf false gestellt, damit er nicht jedesmal meldet, wenn eine neue Zeile hinzugefügt wird. Das interessiert den Anwender nicht wirklich und nervt nur mit "beep".

Titel: Re: Wo zum Teufel kommt das Leerzeichen her?
Beitrag von: DF6GL am Mai 26, 2011, 14:56:21
Hallo,

ja, ich meine den Datentyp und nicht das Format.


Dann erstaunt es mich, dass das Datumsformat so funktioniert.  Um welche Access-Version handelt es sich und sind die Tabellen Access(Jet)-Tabellen oder sind es verknüpfte Tabellen aus z. B. MySQL oder MS SQL Server?



Warnings auf true soll ja nur zur Fehlermeldungs-Analyse gesetzt werden.
Titel: Re: Wo zum Teufel kommt das Leerzeichen her?
Beitrag von: BinaryFallout am Mai 26, 2011, 22:58:18
Abend,

oh hab's nicht offensichtlich geschrieben. Der Fehler hat sich ja erledigt, ich hatte es falsch in die DB geschrieben. Und deine Lösung geht auch. Danke.

Ich nutze Access 2007 mit den normalen Access Tabellen. (Via Tabellenentwurf erstellt) Und keine externe DB-Quelle. Also alles Access-integriert.