1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

ACCESS - Vergleich von Zellenteilen

Discussion in 'Office-Programme' started by slazenger86, May 27, 2003.

Thread Status:
Not open for further replies.
  1. Hi Leute!

    Im Rahmen eines Praktikumsprojektes mit Access bin ich auf folgendes Problem gestoßen:

    ich habe in einer Tabelle einen Zelleninhalt, welcher aus einer Zeichenkette besteht.
    Bsp:
    bsp-1024.ick.wees.ned
    Der Zellinhalt in einer anderen Tabelle, welche im Access importiert ist (die obige ist übrigens auch importiert) und welcher den gleichen Anfangsnamen trägt, soll ermittelt werden.
    Bsp:
    bsp-1024.keine.ahnung

    Die Verwendung von allgemeinen Ausdrücken wäre dabei wichtig, da es sich hier um größere Datenmengen handelt.

    Wie kann ich nun die Anfänge dieser Zeichenketten in einer Zelle vergleichen und diese somit mittels einer Abfrage oder Ähnlichem ermitteln??

    Gruß Markus
     
  2. Jo, dann vielen Dank an alle - das haut jetz alles soweit hin.

    ciao Markus
     
  3. castanho

    castanho Kbyte

    Gib im Kriterienfeld der Abfrage auf Tabelle B ein:
    nicht in (SELECT SpalteA FROM TabelleA)
     
  4. chrissebaeck

    chrissebaeck Kbyte

    Null\' musst Du abfragen.

    Christoph
     
  5. genau das habe ich auch schon probiert. Es wird mir aber nichts angezeigt (leere Tabelle mit Überschrift, aber keinen Zellen). Ich lasse mir Spalte B aus Tabelle 2 anzeigen, habe Verknüpfungstyp 3 gewählt sage als Kriterium "ist null" und es zeigt mir nichts an.
    Nur wieso???? Ich habe extra einen Wert aus Spalte B geändert, den es mit Sicherheit nicht in Spalte A aus Tabelle 1 gibt. Trotzdem leere Abfrage....
    Was vielleicht noch anzumerken wäre:
    Die Abfrage wird aus einer anderen Abfrage und einer Tabelle erstellt.

    Aber sag mal müsste es nicht theoretisch Verknüpfungstyp 1 sein?
    Denn wenn es alle Datensätze aus Tabelle 2 enthält und alle aus Tabelle 1, die auch in der 2. enthalten sind auswählt, ist klar, dass wenn ich mir mit dem Kriterium "ist null" das anzeigen lasse, dass dann nix rauskommt. Jedoch funktioniert das mit dem Verknüpfungstyp 1 genausowenig....
    [Diese Nachricht wurde von slazenger86 am 04.06.2003 | 09:42 geändert.]
     
  6. chrissebaeck

    chrissebaeck Kbyte

    Null\' sein muss (also kein übereinstimmender DS vorhanden ist), und schon klappts auch mit der Abfrage.

    Christoph
     
  7. k, komm schon wieder nich weiter!
    Ich habe zwei Tabellen und je eine Spalte. Die beiden Spalten (A, B) will ich nun gegeneinander vergleichen. Die Zelleneinträge, die in Spalte B jedoch nicht in Spalte A vorhanden sind, sollen mit einer Abfrage ermittelt und aufgelistet werden. Das pack ich aber irgendwie nicht.
    <an castanho: Auch nicht mit der Aufbauen-Funktion!>

    Gruß Markus
     
  8. castanho

    castanho Kbyte

    Wieso benutzt Du nicht die Entwurfsansicht der Abfrage? Ich verstehe nicht, wieso Du Dich mit SQL quälst, wenn Du es so schlecht beherrscht. Klick Dir den Kram zusammen und sieh Dir anschließend die SQL-Anweisung an, das ist allemal praktischer und Du lernst trotzdem was.
     
  9. Vielen Dank Christoph.
    Werd mal schaun, wie sich was einbauen lässt.

    ciao
     
  10. chrissebaeck

    chrissebaeck Kbyte

    Hallo Markus,

    Dir wurde ja schon hinreichend geholfen, ich wollt nur noch der Vollständigkeit halber die Funktion

    INSTR(String1;String2)

    erwähnen. Die überprüft, ob String1 in String2 (an irgendeiner Stelle) vorkommt und ist daher etwas flexibler als der Vergleich Left ()=Left(). Du müsstest konkret also so was wie

    INSTR(LEFT(Zelle1;Anzahl_der_Zeichen);Zelle2)

    überprüfen lassen.

    Bei weiteren Fragen einfach mailen,

    Christoph
     
  11. Ja, würd ich gern machen - den aufbauen Button benutzen. Nur leider gibt es so was beim SQL nicht. Genau den von dir beschriebenen Syntax gibt er in Anführungszeichen als Syntaxfehler aus. Dass man das Komma nach "F3" durch ein Semikolon ersetzen muss ist mir schon klar, nur existiert ein weiterer Syntaxfehler, den ich nicht finde.
    [Diese Nachricht wurde von slazenger86 am 03.06.2003 | 09:27 geändert.]
     
  12. castanho

    castanho Kbyte

    .zum.Beispiel.de\'
    Benutz den Aufbauen-Button, alle Funktionen sind ganz leicht erreichbar und auch über die Syntax gibt es kein Vertun.
     
  13. Jo, WHERE F3 LIKE "*.." findet immerhin die nötigen Anweisungen, nur wie krieg ich das Prog dazu, dass es dann diese ".zum.beispiel.de" ergänzt. Bei mir schreibt er dann genau den Ausdruck "*.zum.beispiel.de" hin, statt es zu ergänzen.
     
  14. castanho

    castanho Kbyte

    *..\' findet die entsprechenden Zeichenketten ebenfalls.
    Aber right ginge ebenfalls. Versuch die Aufbauen-Funktion!
    [Diese Nachricht wurde von castanho am 02.06.2003 | 13:04 geändert.]
     
  15. ..\'
    Nur ist hier das Problem, dass er keine Zeichenkette von zwei Punkten findet, weil nur ein Teil und nicht die komplette Zelle aus diesen zwei Punkten besteht. Da dies SQL-Anweisungen sind, kann ich ja hier nun nich mit "right" arbeiten, oder?
    Wie dann?

    Gruß Markus
     
  16. castanho

    castanho Kbyte

    Kann sein, daß das Komma ein Semikolon sein muß. Access bringt ein Feature mit, das solche Fehler vermeidbar macht - die Funktion Aufbauen (in der Buttonleiste ein Button mit einem Zauberstab). Man kann sich dabei alles zusammenklicken, also Funktionen raussuchen, Namen von Abfragen, Tabellen, Feldern. Kein nerviges Vertippen, kein Vergessen von Funktionsargumenten. Ist nicht nur für Anfänger praktisch.
    Noch mal was zu Deinem Chef: Natürlich ist Access relativ einfach zu lernen, aber ohne Anleitung ist es dennoch ein mühevolles Geschäft voller Frustrationen. Zumindest eine gewisse Grundlage - und dazu gehört auch etwas Datenbanktheorie - sollte man schon von jemandem vermittelt bekommen, der etwas davon versteht. Hinterher kann man sich dann leicht tiefer einarbeiten und plötzlich Probleme lösen, von denen man vorher nichtmal wußte, daß es sie gibt.
     
  17. Hey man, das hat jetz soweit hingehaun mit den Abfragen.
    VIELEN DANK!!!
     
  18. ach und dass das andere schon allgemein war hab ich auch gesehen, hatte nur zwei aritkel nacheinander geschrieben und du hattest deinen dazwischengesetzt ;-)
     
  19. na ja die sache mit dem ranwagen ist so:
    Ich mach nen 7 wöchiges Praktikum und hab das Thema vorgeschlagen gekriegt und mein Chef meinte, dass ich das relativ leicht lernen könne. Aber irgendwie muss ich mir alles selbst beibringen und das ist ab und an nicht so ganz einfach wie es aussieht...
    Jetz noch ne Frage meiner Unkenntnis:
    wenn ich in der Entwurfsansicht einer Abfrage bin und darin "Left(F3, 10) eintrage, markiert der mir das komma und sagt, dass der Ausdruck syntaktisch falsch ist.
    zusätzlich werden mir noch drei infos mitgeliefert:
    entweder:
    ich habe einen Operanten oder einen operator nicht eingegeben
    oder:
    ich hab ein unzulässiges Zeichen oder Komma eingegeben
    oder:
    ich hab keine Anführungszeichen gesetzt.
    Frage: Was hab ich nun schon wieder falsch gemacht? Du hattest doch gesagt, dass ich diesen Ausdruck (Left(F3, 10)) in den Feldnamen in der Entwurfsansicht schreiben soll oder?
     
  20. castanho

    castanho Kbyte

    Das war schon allgemein, denn string1 ist natürlich eine Variable - und die kann auch der Name eines Tabellenfeldes sein. Bei der Ausführung werden Variablen dann durch ihren jeweiligen Inhalt ersetzt.
    Allerdings finde ich es wirklich interessant, mit welch geringen Kenntnissen Du Dich an solche Sachen wagst! Ich sag\'s einfach nochmal: Die bloße Tatsache, daß Word und Access im selben Office-Paket sind heißt nicht, daß es reicht, in Winword richtig gut zu sein, um in Access Datenbanken programmieren zu können.
     
Thread Status:
Not open for further replies.

Share This Page