Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Wo zum Teufel kommt das Leerzeichen her?

Begonnen von BinaryFallout, Mai 26, 2011, 08:36:48

⏪ vorheriges - nächstes ⏩

BinaryFallout

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?

DF6GL

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\") ...

BinaryFallout

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..

DF6GL

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 

BinaryFallout

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".


DF6GL

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.

BinaryFallout

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.