Wie kann man in VBA (Access 2010) zwei US-Datumsangaben vergleichen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Die Datumsangabe müssen aus technischen Gründen im US-Format formatiert sein

Das verstehe ich nicht ganz. Das Format betrifft ja nur den angezeigten und nicht den gespeicherten Wert. Du kannst doch die Datumsvariable jederzeit in Dein gewünschtes Format umformatieren?

Datum = Format([Date];"MM.DD.YYY")

Das Problem ist, dass die deutsche Access-Version mit zwei verschiedenen Datentypen arbeitet die untereinander inkompatibel sind.

  • Formularfelder arbeiten mit EU-Datum
  • VBA in Bezug auf Tabellen arbeitet mit US-Datum
  • CDate kann in der deutschen Version kein US-Datum in EU-Datum umwandeln.
  • DateDiff kann in der deutschen Access-Variante nur EU-Datum verarbeiten.
  • der Datentyp Date im deutschen Access verwendet das Deutsche Datumsformat ohne Rauten.

inzwischen habe ich eine Lösung gefunden, ich wandle die Datumseingaben aus dem Formular einmal in EU-Datum und einmal in US-Datum um.

Dann arbeite ich parallel mit zwei verschiedenen Datumsformaten US und EU und je nach dem welche Funktion welches Format benötigt  suche ich mir die Variable mit dem passenden Format aus.

0

Egal, welches Format zur Anzeige benutzt, zum Vergleich ziehst die beiden Daten voneinander ab.

Ist startDatum abzüglich endDatum negativ, stimmt die Reihenfolge.

Daten aus Access exportieren und in Excel anzeigen lassen

Hallo liebe Community,

ich habe folgendes Problem: Ich soll ein Programm schreiben welches die Daten aus einer Datenbank holt und in Excel speichert und anzeigt. Leider sind mir die Überschriften der einzelnen Spalten nicht bekannt und müsste diese auch auslesen können. Auf meiner Suche habe ich vieles gefunden aber leider nicht was ich darauf anwenden kann.

Über eine schnelle Antwort würde ich mich freuen.

Viele Grüße

freeplate1994

...zur Frage

vba zwei spalten zueinander vergleichen

Hallo Profis

Ich habe ein riessen Problem. Ich möchte zwei Spalten zueinander auslesen in Vba weiss aber nicht wie.

Als Beislpiel Spalte A 2 4 6 8 10 12

Spalte B 1 3 5 7 9 11

Schreibe ich in Spalte D1 "8" soll in Spalte E1 "9" stehen

Schreibe ich in Spalte D1 "2" soll in Spalte E1 "1" stehen.

A1:B1 A2:B2 A3:B3

Habt ihr eine Lösung für dieses VBA Problem?

Das ganze sollte dann so aussehen Wähle ich in spalte F1 Maschine "SP" aus und in spalte D1 "6" so soll in Spalte E1 "5" stehen.

Könnt ihr mir helfen??

...zur Frage

VBA Excel Leerzeile in Spalte einfügen,wenn Werte ungleich - bis zur ersten LZ

Guten Tag, programmiere zum ersten mal ein Makro, und komme nicht mehr weiter. Ich möchte in Spalte C die Werte vergleichen, und sobald der Wert ungleich ist,soll eine Leerzeile eingefügt werden. Mit diesem Code klappt das super:

Sub Makro12() 'fügt Leerzeilen zwischen verschiedenen Lagerorten ein (Spalte C)

Dim r As Long, mcol As String, i As Long

r = Cells(Rows.Count, "C").End(xlUp).Row

mcol = Cells(r, 3).Value

For i = r To 2 Step -1 If Cells(i, 3).Value <> mcol Then mcol = Cells(i, 3).Value Rows(i + 1).Insert End If Next i End Sub

Das Problem: Ich möchte nicht dass er alle Werte vergleicht,sondern nur die Werte bis zur ersten leeren Zelle. Einfach aufzeichnen geht nicht,da die Tabellenlänge variiert. Wäre für Antworten sehr dankbar Viele Grüße

...zur Frage

Wie kann man in Serienbriefen einen des Feldinhaltes abschneiden?

Hallo ich habe gerade ein Problem mit einem Serienbrief der aus einer CSV-Datei generiert wird.

Zur Vorgeschichte: Ich hatte Probleme damit, dass Word mir mein Access sperrt und umgekehrt wenn ich versuche Serienbriefe aus direkt aus einer Access-Datenbank zu generieren. Jedenfalls hatte ich dann die Idee, die Datenbank-Sperren und die daraus resultierenden Fehler zu vermeiden, in dem ich die Daten mittels VBA für die Serienbriefe in eine CSV-Datei exportiere. Das funktioniert so weit ganz gut.

DoCmd.TransferText acExportDelim, "Exportspezifikation", "Tabellenname", "Pfad zur Exportdatei", true

Jetzt ist es aber so, dass Access beim Export von Datumsfeldern eine Uhrzeit anhängt, die in der Tabelle gar nicht enthalten ist - wie z.B. "22.8.2016 00:00:00" ich benötige aber nur das Datum ohne Uhrzeit.

Kann man in Word den Feldinhalt bei dem ersten aufkommenden Leerzeichen irgendwie abschneiden?

...zur Frage

Zellen mit gleichem Inhalt pro Spalte automatisch verbinden ?

Hallo Community, möchte gerne alle Zellen gleichen Inhalts pro Spalte automatisch verbinden lassen (Inhalte müssen, wie bei Excel üblich nur einmal erhalten bleiben). Später soll also der Konfernzname, das Datum und der Ort nur noch einmal pro Konferenz auftauchen. Die Teilnehmer und ihre Beiträge könnte man dann zwar auch noch verbinden, aber hier müssten natürlich die ganzen Zellinhalte erhalten bleiben (was Excel üblicherweise nicht macht). Ist wahrscheinlich nur mit VBA möglich oder? Danke im Vorraus

Bild siehe Anhang

...zur Frage

Was habe ich bei diesem VBA Code falsch gemacht?

Hallo miteinander,

Ich habe ein Problem!

Ich habe einen Code geschrieben der mir richtig erscheint, aber ich erhalte immer den gleichen Fehler:

Laufzeitfehler'13'

Typen unverträglich

Die Microsoft Hilfe nützt leider auch nichts!

Könntet ihr mir weiterhelfen?

Der Code steht unten:


Public text13 As Date
Public Text2 As Long
Private Sub CommandButton1_Click()
If text13 = Format("DD/MM/YYYY") Then
If Not text13 = Format("DD/MM/YYYY") Then
MsgBox ("Ups, Sie haben kein korrektes Datum eingegeben!")
End If
With Me.TextBox1
Cells(65000, 1).End(xlUp).Offset(1, 0).Activate
ActiveCell = text13
End With
With Me.TextBox2
Cells(65000, 2).End(xlUp).Offset(1, 0).Activate
ActiveCell = Text2
End With
Else
MsgBox ("Irgendetwas stimmt nicht!")
End If
TextBox1 = ""
TextBox2 = ""
End Sub
Private Sub TextBox1_Change()
Dim Text1 As Variant
Text1 = TextBox1
text13 = CDate(Text1)
End Sub
Private Sub TextBox2_Change()
Text2 = TextBox2.Value
End Sub

Ich wäre froh über eine schnelle Antwort!

Danke schon im Voraus!

Mit Freundlichen Grüssen

StillGamingLP

...zur Frage

Was möchtest Du wissen?