Case when bei Office Access?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Hallo, natürlich gibt es in SQL-Abfragen in Access auch den SWITCH-Befehl. Im Abfragegenerator in Deutsch heißt der Befehl SCHALTER. Folgendermaßen funktioniert dieser: "Switch(Bedingung1, DannWert1, Bedingung2, DannWert2, .... , True ; SonstWert)" . Man schreibt also immer das Pärchen von Bedingung und Wert, wenn die Bedingung erfüllt ist der Reihe nach hin. Solange, bis man alle Fälle betrachtet hat. Dann kann man noch das "Case else" abbilden. Hierzu muß man das Schlüsselwort TRUE, gefolgt vom SonstWert am Ende eintragen. Beispiel: Switch([ID=1],"DannWert1",[ID]=2,"DannWert2",[ID]=3,"DannWert3",True,"SonstWert") AS NeuesFeld . Viele Grüße, Armin Dippel

Vielen Dank !!!

genau das habe ich gesucht

eigentlich war diese Frage echt peinlich ... aber ich bin MS SQL gewohnt und hab in google irgendwie nichts gefunden

egal - vielen Dank

0

Access-SQL kennt kein CASE WHEN - du kannst aber die VBA-Funktionen "Choose" oder "Switch" verwenden. Oder dir selbst eine geeignete Funktion schreiben.

Ansonsten weiß ich nicht, was "Office Access" sein soll - ich kenne nur Microsoft Access.

Gruß Ragnar

Access gehört zu den Office Programmen von Microsoft - genau so wie Word, Excel, Outlook, PowerPoint, Visio, Procects und einige Mehr -> deshalb Office

ich nutze aber kein VBA sondern C#

0
@sponge9394

Auf die VBA-Funktionen Choose und Switch kannst du aber auch von C# aus zugreifen. Ansonsten würde ich für solche Zwecke immer mySQL oder MS SQL Server nehmen - Access ist eher eine integrierte Entwicklungsumgebung und keine SQL-Datenbank.

Gruß Ragnar

0

Mit Access und VBA einen formatierten Excel-Export durchführen?

Guten Tag, ich hänge mal wieder bei einer Access - Excel Frage fest.

Ich habe ein Access eine Abfrage geschrieben, die mir sortiert eine ID, den zugehörigen Namen und alle dazu zugewiesenen Daten ausgibt.

Da jede Id + name mehrere Daten haben kann, steht das ganzen in mehreren zeilen untereinander. Ich möchte das ganze nun in eine Excel-Datei via Makro exportieren und das ganze so formatieren das Id + name nur einmal drann steht und dann alle Daten.

Das ganze sieht also eig. so aus.

id || name || daten

1 || n1 || daten1

1 || n1 || daten2

1 || n1 || daten3

und soll in der Exel Datei dann so aussehen.

id || name || daten

1 || n1 || daten1

_ || _ || daten2

_ || _ || daten3

_ bedeutet das dort kein Eintrag in der Zelle mehr steht. Ich habe das bisher so gemacht, das ich Die Daten aus Access händisch in eine Excel kopiert habe und dann dort mit einem Makro alles raus sortiert habe. Dim xErsteZeile As Long Dim xZeile As Long

        xErsteZeile = Cells(Rows.Count, 1).End(xlUp).Row
    
        For xZeile = xErsteZeile To 1 Step -1
          If Application.WorksheetFunction.CountIf(Columns(1), Cells(xZeile, 1).Value) > 1 Then
                Range("A" & xZeile).Select
                Selection.Delete Shift:=xlUp
                Range("B" & xZeile).Select
                Selection.Delete Shift:=xlUp
          End If
        Next

Ich würde das ganze jetzt aber über Access machen da es ja der Ausgangspunkt ist. Wenn ich ein Export in ACCES anschaue in VBA sieht dieser ja so aus.

    DoCmd.OutputTo acOutputQuery, "jh_01_01_Abfrage", "Excel97-Excel2003Workbook(*.xls)", "", True, "", , acExportQualityPrint

kann ich davor die Daten noch bearbeiten wie in Excel? Und wenn ja kann mir eventuell jemand einen Tipp geben?

Würde mich sehr freuen.

Grüße

Frost.

...zur Frage

Was möchtest Du wissen?