collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 103
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 3
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 14160
  • stats Beiträge insgesamt: 68645
  • stats Themen insgesamt: 9248
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: MySQL Control Flow Functions in Access  (Gelesen 8650 mal)

Dirk

  • Gast
MySQL Control Flow Functions in Access
« am: September 18, 2005, 12:03:34 »
hi leute,

in mysql bin ich recht fit,
aber access ist neu für mich.

ich würde gern das CASE konstrukt
aus mysql in access nutzen. das scheint
es da nicht zu geben. wie ist dafür die
alternative syntax?

bzw. mal allgemein: gibt es irgendwo eine
übersicht über die in access verfügbar sql?

vielen dank für eure tipps.

 

Hondo

  • Gast
Re: MySQL Control Flow Functions in Access
« Antwort #1 am: September 19, 2005, 20:17:28 »
Hallo,
T-SQL welches u.a. von MySQL verwendet wird kann man bei solchen Spezialfällen imo nicht auf Access ummünzen.
Erkläre dein Problem, was du machen möchtest etc und wir helfen dir bei der Suche nach Alternativen.

Gruß Andreas
 

Dirk

  • Gast
Re: MySQL Control Flow Functions in Access
« Antwort #2 am: September 19, 2005, 20:44:20 »
ok, vielen dank schon mal.

es geht um eine artikel-db für einen shop.

die auszulesende tabelle enthält artikelname, kategoriename usw.

einige kategorienamen sollen umbenannt werden
also SELECT WHEN katname='a' THEN katname='b' ELSE katname AS ...

mh, weiß nicht, ob das jetzt verständlich war ;-)
 

Hondo

  • Gast
Re: MySQL Control Flow Functions in Access
« Antwort #3 am: September 19, 2005, 20:51:27 »
Hallo,
mach eine Select/Case Schleife, bestimme die einzelnen Werte wie Feldname, neuer Feldname etc, baue dir daraus resultierend ein SQL-Statement zusammen und führe dies aus.
BTW, Feldnamen kannst du mit Select nicht ändern, sondern mit Alter Table...

Gruß Andreas

PS: imo macht es keinen Sinn die Feldnamen in einer Tabelle während der Laufzeit zu ändern. Ich mutmaße dass an deinem Datenbankkonzept was falsch ist.
« Letzte Änderung: September 19, 2005, 20:53:41 von Hondo »
 

Dirk

  • Gast
Re: MySQL Control Flow Functions in Access
« Antwort #4 am: September 19, 2005, 21:32:31 »
ah, uuh, nee. ich verstehs ni.

eine select case abfrage würd ich ja gern machen:
SELECT
ARTIKEL1 AS KURZNAME,
(CASE WHEN GRUPPE1 ='Displays' THEN 'Monitore' ELSE GRUPPE1 END) as KATEGORIE_NAME
FROM bla

aber da erhalte ich den fehler:
syntaxfehler (fehlender operator) in abfrageausdruck ...
und das war auch falsch rübergekommen,
ich möchte nicht den feldnamen ändern,
sondern lediglich den inhalt
 

Hondo

  • Gast
Re: MySQL Control Flow Functions in Access
« Antwort #5 am: September 19, 2005, 21:38:06 »
Hallo,
du weisst doch vor dem Abschicken welche Felder umbenannt werden sollen und wie sie umbenannt werden sollen - oder?
BTW: erkläre doch mal was dies für ein Sinn machen soll?

Andreas
 

Dirk

  • Gast
Re: MySQL Control Flow Functions in Access
« Antwort #6 am: September 19, 2005, 21:50:17 »
ja, die bedingungen stehen fest und ändern sich auch nicht.

sinn macht das, da aus der großhändler-db die artikel
für den eigenen webshop geholt werden - und dabei
sollen halt einige artikel in andere kategorien gesteckt
werden.
 

Hondo

  • Gast
Re: MySQL Control Flow Functions in Access
« Antwort #7 am: September 19, 2005, 22:00:07 »
Hallo,
Zitat
und dabei sollen halt einige artikel in andere kategorien gesteckt werden.
Ja das ist jetzt klarer um was es geht.
Du musst für jede Kategorie folgendes ausführen:
Update Tabelle set kategorie = 'andereKategorieX' Where kategorie = 'kategorie1' AND sonstiges Kriterium
Update Tabelle set kategorie = 'andereKategorieY' Where kategorie = 'kategorie2' AND sonstiges Kriterium
Update Tabelle set kategorie = 'andereKategorieZ' Where kategorie = 'kategorie3' AND sonstiges Kriterium
...

Hast du nur wenige Kategorien die geändert werden müssen würde ich es so hard-coded machen.
Wie unterscheidest du bei welchen Artikel die Kategorie geändert werden soll?

Gruß Andreas
 

Dirk

  • Gast
Re: MySQL Control Flow Functions in Access
« Antwort #8 am: September 19, 2005, 22:19:54 »
die unterscheidung erfolgt rein nach kategoriename.
die variante mit dem update vorher käme als lösung
also in frage, obwohl es schon einige viele kategorien
betrifft. naja.

großen dank jedenfalls für deine hilfe!

jetzt hätte ich nur noch das problem, wie ich mehre
abfragen automatisch ablaufen lassen kann?!
 

Hondo

  • Gast
Re: MySQL Control Flow Functions in Access
« Antwort #9 am: September 20, 2005, 09:02:03 »
Wenn du weisst welche Kategorien es betrifft und welchen neuen Kategorienamen in Frage kommt kannst du dies in 2 Array schreiben und dann dieses in einer For-Schleife abarbeiten.

Dim arrAlt As Variant, arrNeu As Variant, i As Integer
arrAlt = Array("1","5","9","18")
arrNeu = Array("11","17","18","25")
For i = lbound(arrAlt) to ubound(arrAlt)
    Currentdb.Execute "Update Tabelle1 set kategorie  = " & arrNeu(i) & " Where kategorie = " & arrAlt(i)
Next i

Gruß Andreas
 

Dirk

  • Gast
Re: MySQL Control Flow Functions in Access
« Antwort #10 am: September 21, 2005, 19:01:39 »
wunderbar, dank dir! :)
 

Offline imp666

  • Access-User
  • *
  • Beiträge: 83
Re: MySQL Control Flow Functions in Access
« Antwort #11 am: März 03, 2011, 14:01:35 »
Code: Visual Basic
SELECT
ARTIKEL1 AS KURZNAME,
(CASE WHEN GRUPPE1 ='Displays' THEN 'Monitore' ELSE GRUPPE1 END) as KATEGORIE_NAME
FROM bla

In Access gibt es in SQL eine ähnlich funktionale Syntax, ich würde es in Access evtl. so umsetzen:
Code: Visual Basic
SELECT IIF(GRUPPE1 ='Displays';'Monitore';GRUPPE1) AS gruppe FROM bla
 

 

Zeilenumbruch in Mysql Tabelle

Begonnen von Torsten.Board MySQL

Antworten: 6
Aufrufe: 8888
Letzter Beitrag Januar 15, 2011, 20:42:42
von Torsten.
mySQL und Dirty-Flag Problem

Begonnen von imp666Board Formular

Antworten: 0
Aufrufe: 2293
Letzter Beitrag März 03, 2011, 14:18:44
von imp666
Lokale MYsql DB / MS Sql mit einem Anderen server über VPN syncronisieren

Begonnen von manuel maierBoard MySQL

Antworten: 4
Aufrufe: 7292
Letzter Beitrag August 15, 2011, 10:29:15
von manuel maier
mysql ohne PC-gebunden ODBC-Treiber

Begonnen von klamotteBoard Tabelle/Abfrage

Antworten: 2
Aufrufe: 1859
Letzter Beitrag Januar 13, 2012, 09:23:38
von klamotte
MySQL Abragefunktion

Begonnen von robsonleleBoard MySQL

Antworten: 1
Aufrufe: 4906
Letzter Beitrag Dezember 05, 2012, 19:45:54
von bahasu