Einen Wert um 4 Zeichen verkürzen?

Hi alle miteinander,

Habe ein Problem,

Habe eine Variable in der ein Pfad(z.B. C:\Test.doc) steht, ich möchte jetzt
den Wert dieser Variable um 4 Zeichen verkürzen(um das .doc) und das übrige(z.B c:\Test) an eine neue Variable übergeben!
Das Problem ist jedoch das sich der Wert der Variable in der Länge immer ändert!

Hoffe mir kann jemand helfen!

MFG Chris!

Servus Chris

Wenn die Extension immer nur .doc (oder eine andere 3-stellige) ist, dann geht das mit der Funktion
LEFT(Variable, LEN(Variable) - 4)

Da eine Extension auch weniger als 3 Stellen haben könnte, würde ich aber zuerst die Position des letzten Punktes mit der Funktion INSTRREV suchen und dann die Variable entspechend abschneiden.
Beispiel:
Pfad = „C:\Test.doc“
Pkt = INSTRREV(Pfad, „.“)
x = LEFT(Pfad, Pkt - 1)

Schöne Grüße
Roland

Habe eine Variable in der ein Pfad(z.B. C:\Test.doc) steht,
ich möchte jetzt
den Wert dieser Variable um 4 Zeichen verkürzen(um das .doc)
und das übrige(z.B c:\Test) an eine neue Variable übergeben!
Das Problem ist jedoch das sich der Wert der Variable in der
Länge immer ändert!

MFG Chris!

Hallo, Chris!

Wenn Du VB6 nutzt, und es sich immer um die gleiche Dateiendung handelt kannst du auch die „REPLACE“-Funktion benutzen.

strBasis = „C:\Test.doc“
strSuch = „.doc“
strErsatz = „“ 'Leerstring

Neu = Replace(strBasis, strSuch, strErsatz)

Zu beachten ist, das die Funktion ‚case-sensitive‘ ist.
„*.doc“ ist also nicht gleich „*.Doc“.
Ggf. mußt Du also mit Lcase oder Ucase arbeiten.

Gruß, Michael

Hi,

danke für eure Antworten, werde das mal probieren!

MFG Chris!

Noch ne Frage wegen Datenbank
Hab noch ein Problem, hoffe ihr könnt mir vielleicht auch hier helfen!

Greife auf eine Datenbank über SQL statements zu und schreibe einen Datensatz mittels „insert into“ hinein, der Datensatz wird erfolgreich angelegt
nur wenn ich die gleichen Daten nochmal reinspiele wird ein neuer Datensatz angelegt, das soll jedoch nicht sein, sondern es soll in der Datenbank vorher gesucht werden ob es den Datensatz schon gibt, wenn ja soll deiser überschrieben werden!

Hoffe mir kann jemand helfen!

Danke im voraus, Chris!

das schlüsselwort ist ‚update‘
hallo chris,

statt „insert“

„update into table set wert = wert where id = 1“

gruß

rasta

hi, erstmal danke für deine Antwort,

Ich kann mir aber nicht genau vorstellen wie ich das sql statement ändern soll, deswegen bitte ich dich in mein sql statement deine änderungen einzubauen!
Das SQL ergebniswird in die Variable „m_sSQL“ geschrieben, code wie folgt:

m_sSQL = „INSERT INTO dokument (titel,stat,pfad) " & _
„VALUES (’“ & File1.FileName & " ‚, " & _
"‚offen‘, " & _
"‘“ & path & „’);“

dokument=tabelle; titel,stat,pfad=Spalten

Das ganze soll nach deiner änderung in der tabelle nachsehen ob es den Datensatz schon gibt, wenn ja überschreiben, wenn nein neu anlegen!

Hoffe ich mach dir keine umstände, danke im voraus
mfg chris!

hallo chris,

als erstes empfehle ich, das du dir eine sql-referenz besorgst.

also du möchtest:

  1. datensatz überprüfen
    dann entweder
    2a. neu anlegen
    2b. überschreiben

also, ich frage die datenbank ab:

select id from dokument where titel = ‚" & file1.filename & "‘"

befülle das recordset und :…

if rs.eof then

m_sSQL = „INSERT INTO dokument (titel,stat,pfad) " & _
„VALUES (’“ & File1.FileName & " ‚, " & _
"‚offen‘, " & _
"‘“ & path & „’);“

else
m_sSQL = „UPDATE DOKUMENT set titel = '“ & file1.filename _
& „’, stat = ‚offen‘, pfad = '“ & path & "’ where id = " & rs(„ID“)
end if

so müstest du zum gewünschten erfolg kommen

gruß

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hi, nochmal,

was heisst das wenn bei „id“ die Fehlermeldung „Erwartet: Case“ kommt?

lg chris

guten morgen chris,

schreib doch mal bitte den sql - dann sag ich dir wo der fehler liegt.

gruß

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi,

select id from dokument where titel = ‚" & file1.filename & "‘"

so wie du es geschrieben hast!

mfg chris

hallo chris,

kann es sein, das deine tabelle gar keine spalte „id“ hat?

füge deiner tabelle bitte eine „unique“-spalte namens id hinzu. so bekommt jeder datensatz eine eindeutige nummer.
habe mein beispiel anhand der „id“ gestaltet, da alles andere unprofessionell wäre.

danach sollte alles funktionieren.

gruß

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hi,
danke, steh diese Woche ein wenig neben mir!

mfg chris!