Zum Inhalt springen

HolzOnkel

Mitglieder
  • Gesamte Inhalte

    138
  • Benutzer seit

  • Letzter Besuch

Beiträge von HolzOnkel

  1. Moin,

    also in FoxPro ist das gar kein Problem - wenn die Tabelle "geladen" ist, dann gibt Dir die Funktion

    USED("tabellenname")

    den Wert TRUE (.T.) zurück. Allerdings wird der weitere Programmcode erst dann ausgeführt, wenn das USE blahblahblah zuende ist.

    Allerdings verstehe ich jetzt nicht so ganz, was Du da irgendwie umformatieren willst? Dein Code macht nix anderes als die ganze Tabelle zu kopieren.

    Ausserdem - ich nehme an, Du versuchst hier FoxPro fernzusteuern - stellt sich mir sowieso die Frage, wieso Du jeden Befehl einzeln übergibst. Das ginge auch eleganter, je nach Version vom Füchslein auch deutlich eleganter.

    Dein Problem an sich ist im übrigen nicht, dass die FoxPro-Anwendung zu groß ist, sondern dass die Tabellen zu groß sind.

    Sag doch einfach nochmals genauer an, was du überhaupt wie formatieren willst und wie Du erkennst, ob die Tabelle das falsche Format hat, dann kann ich Dir da vielleicht weiterhelfen.

    Gruß,

    der Onkel

  2. ...uff.... nach meinem Wissen nicht, nur TOP 100 zum Bleistift.

    Eine Idee hätte ich aber trotzdem - ein FULL OUTER JOIN auf die id-Spalte einer Tabelle, wo die id-Spalte durchlaufend ist und dann in der Where-Bedingung:

    ... id_nr BETWEEN 200 AND 299 ...

    ...zum Bleistift. Ist zwar nicht ganz so genau wie LIMIT (Sprünge in der ID-Spalte durch Löschen und so), aber trotzdem nicht all zu dumm...

    Gruss,

    der Onkel

  3. ...äh.. mich beschleicht da was... es geht da ja um winzigweich...

    Beim MS-SQL-Server werden Variablen mit "?" übergeben. Ist es vielleicht auch hier der Fall?

    Kurz gesagt:

    OleDbDataAdapter* daTitles = new OleDbDataAdapter("SELECT Kunden.* FROM AV INNER JOIN Kunden ON [AV].[KD-Nr]=[Kunden].[Kd-Nr] WHERE [AV].[seriennummer]=?nummer", DBVerbindung);

    Du musst halt nur dafür sorgen, dass die entsprechende Variable auch existiert, aber das tut sie laut dem Codeschnipsel ja.

    Probier das mal... sonst bin ich mit meinem Latein vorerst auch am Ende.

    Gruss,

    der Onkel

  4. Moin Meister,

    Ich benutze keinen Server sondern greife direkt auf ne Accessdatenbank zu!

    Das ist hier das Datenbankforum - da ist es wohl normal, dass ich nach dem Datenbankserver frage... <g>

    Was das andere angeht... ich nehme an, "daTitles" ist ein Array. Das musst Du unter C++, wenn ich das noch richtig weiss, ja auch erstmal deklarieren.

    Der Fehlermeldung nach hast Du das wohl nicht ganz richtig getan, da eine Spalte wohl den falschen Datentyp hat... eventuell auch einfach in der falschen Reihenfolge definiert, oder sowas.

    Gruss,

    der Onkel

  5. Kommt die Fehlermeldung vom Server oder aus deiner Applikation?

    Mir gefallen zum Beispiel generell die beiden "%" um nummer herum nicht...

    Andere Frage: welchen Server benutzt Du überhaupt? Kann ja auch davon abhängen...

    Gruss,

    der Onkel

  6. Tach Marv....

    Nun stellt sich mir die Frage, kann ODBC diese SQL-Statements so übersetzen, daß Excel die versteht ???

    Wenn Du eine ODBC-Schnittstelle für Excel hast - ja.

    Im Original gibt dieses "xyz.dbo.titleview" ja die Datenbank an wo die Suche stattfinden soll. Leider konnte ich nicht rausfinden was dieses ".dbo" heißt.

    Hat das was mit dem DatenBankOwner zu tun ?

    Und was soll dieses "titleview" bedeuten ?

    dbo heisst, wie Du schon geschriben hast, Data>BaseOwner.

    Dieser ganze Bezeichner heisst im Endeffekt folgendes:

    Es gibt eine Tabelle/einen View "titleview", welcher Eigentum des SQL-Users/der SQL-User-Gruppe "dbo" ist und sich in der Datenbank "xyz" befindet. Damit kann der Benutzer/die Gruppe "dbo" auf diese Tabelle Rechte verteilen... für andere ist diese Tabelle eventuell gar nicht sichtbar (wie ich schon mal feststellen musste).

    Ich hoffe, das hilft weiter.

    Gruss,

    der Onkel

  7. Mein Umsetzungsversuch sah wie folgt aus:

    SELECT MIN(Artikel.[Artikel-Nr]) AS Artikel.[Artikel-Nr], Artikel.[Video-Nr], [Archiv Video].Titel, [Archiv Video].Künstlername

    FROM Verkaufsdaten RIGHT JOIN (Kaufdaten RIGHT JOIN ([Archiv Video] RIGHT JOIN Artikel ON [Archiv Video].[Video-Nr] = Artikel.[Video-Nr]) ON Kaufdaten.KaufNr = Artikel.KaufNr) ON Verkaufsdaten.AuftragNr = Artikel.AuftragNr

    WHERE (((Artikel.KaufNr)<>3) AND ((Artikel.Verkauft)=False))

    GROUP BY Artikel.[Video-Nr], [Archiv Video].Titel, [Archiv Video].Künstlername

    ORDER BY [Archiv Video].Titel;

    Offensichtlich ist das falsch, aber wo?? Was konkrett ist hier falsch?

    Meldung:

    "Die SELCT-Anweisung schließt ein reserviertes Wort oder ein Argument ein, das/der falsch, mit falscher Zeichensetzung oder überhaut nicht eingegeben wurde."

    Woran scheitert es?

    Äh, auf den ersten Blick:

    MIN(Artikel.[Artikel-Nr]) AS Artikel.[Artikel-Nr], 

    Wenn Du ein Feld mit "AS" in den Select einbeziehst, hat der Tabellenbezeichner da drin nichts zu suchen... also sollte es eher:

    MIN(Artikel.[Artikel-Nr]) AS [Artikel-Nr], 

    heissen.

    Versuch es erstmal damit, ich bin heute etwas im Streß und kann erst heute Abend mal genauer drauf schauen...

    Gruss,

    der Onkel

  8. ... äh... warum sagst Du das nicht gleich so?

    Ich darf also nochmal zusammen fassen:

    Du hast als Projekt, eine Excel-Tabelle - oder zumindest ausgesuchte Teile davon - als Webpage auf Eurem eigenen Server ins Internet zu stellen.

    Dafür hast Du zur Verfügung: die Excel-Tabelle (als DB-Ersatz), ODBC und den IIS.

    Habe ich das so richtig zusammen gefasst?

    :confused:

    der Onkel

  9. Original geschrieben von etops

    SELECT COUNT (*) AS [Anzahl bla]

    FROM ABC

    WHERE Verantwortl1a = 'bla' AND ((Verantwortl1b = 'bla' OR '--') AND (Verantwortl1c = 'bla' OR '--')) AND ((Verantwortl2a = 'bla' OR '--') AND (Verantwortl2b = 'bla' OR '--') AND (Verantwortl2c = 'bla' OR '--')) AND ((Verantwortl3a = 'bla' OR '--') AND (Verantwortl3b = 'bla' OR '--') AND (Verantwortl3c = 'bla' OR '--'));

    Zur Erläuterung: Das Feld Verantwortl1a enthält immer einen Wert; ich möchte jetzt wissen, wie oft jeder einzelne Wert, der zusätzlich zu Verantwortl1a auch in den anderen Feldern (--> also insgesamt) auftaucht. Die Verknüpfung mit OR ist deswegen falsch, weil der Inhalt von Verantwortl1a zwar nicht in Verantwortl1b und 1c auftauchen kann, dafür aber noch je einmal in 2(a, b, c) oder 3(a, b, c).

    Wahrscheinlich hat das jetzt keiner kapiert, aber ich bin trotzdem für jeden Ansatz dankbar :)

    Mit letzterem könntest Du durchaus recht haben... :D

    Okay, mal schauen, ob ich das richtig gepeilt habe... erste Frage: wenn ich das Wort "kann" bei Dir richtig verstanden habe, könnte die Abfrage dann nicht einfach so lauten:

    
    SELECT COUNT (*) AS [Anzahl bla]
    
    FROM ABC
    
    WHERE Verantwortl1a = 'bla' 
    
    AND (
    
    Verantwortl2a = 'bla' OR Verantwortl2b = 'bla' OR Verantwortl2c = 'bla' 
    
    OR 
    
    Verantwortl3a = 'bla' OR Verantwortl3b = 'bla' OR Verantwortl3c = 'bla'
    
    )
    
    

    So, wie Du das geschrieben hast, fallen die Felder 1b und 1c ja eh aus der Abfrage raus, weil der Wert da nicht auftauchen kann.

    Die nächste Frage wäre dabei: brauchst Du den Wert '--' wirklich? Aus der Fragestellung heraus kam es mir so vor, als würdest Du nur wissen wollen, wo der Wert 'bla' in 1a und in einem der Felder 2(a,b,c) oder 3(a,b,c) vorkommt. In der Abfrage oben ist natürlich nicht inbegriffen, dass der Wert nur in einem der zusätzlichen Felder auftauchen soll...

    Gruss,

    der Onkel

  10. Original geschrieben von Patte

    Hi

    Bin jetzt nen bisschen weiter. Habe den Header wieder aus dem Listenfeld entfernt, und lese die Zeile mit der Markierten Zelle wie folgt ein:

    With FrmMain.ListBoxSuchErgebniss

    .RowSource = Worksheets(1).Name & "!" & _

    Intersect(Worksheets(1).[a1].CurrentRegion, _

    Worksheets(1).[aXXX:dXXX]).Address

    End With

    Problem:

    Wie ist der Befehl, dass die zweite Zeile die erste nicht überschreibt, sondern in die nächste Zeile?

    Wofür steht der Wert in den [] Klammern vor .CurrentRegion?

    ..mal so blind in Excel-Grün geschätzt - für die Spalte a1 im Worksheet?

    Gruss,

    der Onkel

  11. Original geschrieben von kills

    du könntest deinen SQL vereinfachen, da du sowieso alle spalten in deiner Tabelle füllst und diese auch in der richtigen Reihenfolge!

    z.B.

    INSERT INTO offer VALUES ('10','10.07.2003','15','Test','test.html')

    Aber zu deinem Problem genau kann ich ohne Fehlermeldung auch nix sagen

    ..davon würde ich persönlich abraten. Sicher, es funzt, aber erweiter die Tabelle, vergiss den Select und es brät sich einen mit den Fehlermeldungen...

    ...zum Problem: ich würde auch auf den angesprochenen Tinyint tippen.

    Gruss,

    der Onkel

  12. ..ähm... gibt es da nicht was einfacheres? So ne Funktion wie "JUSTSTEM", "JUSTPATH", "JUSTEXT" oder so? Ich kann mich dumpf entsinnen, mal was in der Hilfe darüber gelesen zu haben... :confused:

    Gruss,

    der Onkel

  13. Manchmal habe ich das Gefuehl, dass ich als Schwuler oder Transvestit weniger eine zu diskriminierendere Randgruppe bin, als wenn ich Metal hoere und Computerspiele spiele, die ab 16 oder 18 sind.

    Ja. Denn Schwule und Transvestiten sind mittlerweile Teil der political correctness, das andere nicht. Siehe hierzu auch das durchaus bösartige, wenn auch leider viel zu treffendene "Handbuch der political correctness" :mod: (englisch, leider habe ich den Link nicht mehr).

    Wenn ich mir das ganze hier (und woanders) durchlesen, kommt mir spontan als Hauptproblem bezüglich der "Grundfindung" ein typisch menschlicher Zug in die Gedanken - Bequemlichkeit.

    Es ist immer bequemer, die Schuld ohne Hinterfragen irgendwo bei einer "seltsamen Randgruppe" zu suchen (inwiefern seltsam oder Randgruppe sei mal dahin gestellt). Es ist bequemer, die Schuld bei irgendwelchen Computerspielen, bei Musik, sog. "Satanisten", den Eltern, blahblah, zu suchen.

    Meiner Meinung nach hat alles seinen Teil dazu beigetragen. Die Musik, die aggresiv macht (sorry, is bei manchen so), die Computerspiele (ich spiele CS auch gerne, aber... wer von uns hat in dem Fall nicht mal dran gedacht, wie es wäre, mit einer geladenen Pump-Action durchs Kaufhaus zu rennen und... ), die Eltern, die sich nicht mehr um Ihre Kinder kümmern (können ?) und statt dessen mit Markenartikeln um sich werfen und Liebe mit Geld zu ersetzen suchen... die Liste ist lang und wohl im Grossen und Ganzen eher gesamtpsychologische/-psychosoziale Studie Deutschlands als irgendwas, was man auf einem Board abhandeln könnte.

    Leider müssen wir davon ausgehen, dass es, trotz all unser Trauer, Wut und Betroffenheit eher schlimmer wird als besser. Zumindest so lange, wie es als cool gilt, Grenzen mutwillig zu überschreiten, um den Respekt anderer zu erringen.

    nachdenkliche Grüsse,

    der Onkel

    PS: Nein, ich bin kein "Love&Peace"-Genosse. Ich bin auch der Meinung, dass manchmal ein Schlag auf die Nase sein muss. Aber dann ist auch gut.

    Wenn Ihr Euch prügeln wollt, geht lieber zusammen einen saufen. Und wenn ihr dann agressiv werdet, sauft, bis ihr umkippt. Auch nicht das wahre, aber es verursacht im Endeffekt weniger Schäden in der Umgebung und hilft der Volkswirtschaft. :D

  14. ...jetzt mal ganz blöd in den Raum gestellt - auch wenn ich keine Ahnung von Oracle habe.

    Aber das Oracle-Statement sieht mir schwer nach einem INNER JOIN aus - und der liefert dann ganz klar weniger Datensätze als ein LEFT OUTER JOIN.

    Gibt es unter Oracle keine Entsprechnung dazu??? (Kann ich fast nicht glauben.)

    Im Zweifelfall würde ich versuchen, das Oracle-Statement als UNION aufzubauen, also erst den Teil, der jetzt schon da steht, dann UNION mit einem Select, der so aussehen könnte:

    SELECT A.ID,

    A.Name,

    '<WasAuchImmer>' AS Logdate

    FROM A

    WHERE A.CID LIKE '1'

    AND A.ID NOT IN (SELECT Accountid FROM S GROUP BY Accountid)

    Sollte im Zweifelsfall das selbe Ergebnis liefern... wenn ich es auch für etwas umständlich halte.

    :confused:

    Der Onkel

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...