Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

CAST fehlender Operator

Frage Entwicklung VB for Applications

Mitglied: PCFJKG

PCFJKG (Level 1) - Jetzt verbinden

31.08.2009, aktualisiert 06:24 Uhr, 5901 Aufrufe, 6 Kommentare

Access 2007, Microsoft Visual Basic 6.5
In einer Suche mit Dlookup wird CAST zur Umwandlung einer im Textformat vorliegenden Zahl zu int verwendet. Als Fehlermeldung Laufzeitfehler 3075 wird ein fehlender Operator angegeben.

Dim Test As Variant
Test = DLookup("MAX(CAST(RIGHT([VersNr],11) AS int))", "Tabelle", "LEFT(VersNr,1) = 'D'")
In der Tabelle ist die Spalte VersNr als Text der Feldgröße 12 definiert. Die gesuchten Nummern lauten z.B. D1430 etc., es soll die größte Nummer gefunden werden. Wo könnte der Fehler liegen ?

Vorab Dake für jede Hilfe, PCFJKG.
Mitglied: stupsnose
31.08.2009 um 08:27 Uhr
Hallo,

ich bin nicht sicher ob MS Access Funktionen innerhalb der Domänen-Funktionen (DLookup, DMax etc) ausführen kann.

Lösungsvorschlag: Erstelle eine Abfrage, die das Feld der Tabelle entsprechend modifiziert, d.h. RIGHT(...) und CAST(...) bereits enthält. Dann frage diese Abfrage mit DMax() ab.

btw. Gibt es in Access-SQL wirklich die Funktion cast()? Sonst versuch es mal mit val(...)

Gruß
Stefan
Bitte warten ..
Mitglied: Biber
31.08.2009 um 08:38 Uhr
Moin PCFJKG,

ich weiß nicht...
Manche Probleme sollte man/frau nicht zu lösen versuchen, sondern einfach gar nicht heraufbeschwören.

1. Wenn Du die "höchste" vergebene VersNr finden willst, die mit "Dnnnn" beginnt, dann schenkt Dir das versuchte Umformen auf einen INT. nimm einfach ein "Max(VersNr)".
2. Wenn Du schon nicht darauf hören willst, dann nimm statt der schlampig hingebratzten CAST-Funktion die CInt()-Funktion
> ..Test = DLookup("MAX(CInt(RIGHT([VersNr],11) ))", "Tabelle", "LEFT(VersNr,1) = 'D'")
3. Wenn Du schon in einen INT (was auch immer Access darunter zu verstehen vorgibt) konvertieren willst, dann überprüf noch mal, ob für einen INT-Wert denn die rechten elf (11!!) Zeichen eines Strings nicht ein bisschen ruppig sind.

Ein Test mit
01.
 SELECT  CInt("1234")   as castedshort2int,   
02.
         cint ("12345678901")  as An11charsLongString  
03.
From irgendneTabelle
liefert jedenfalls (logischerweise) sofort einen "Überlauf", wenn es in einem KlickiBunti-Query-Fenster angestupst wird.

Grüße
Biber
Bitte warten ..
Mitglied: PCFJKG
31.08.2009 um 10:18 Uhr
Hallo Biber,
habe die Kritik verstanden (bloß nicht ganz verstanden warum cast schlampig war, denn auf dem SQL-Server funktionierte sie so ...).
Egal, CInt() ist ok und löst mein Problem wunderbar, MAX([VersNr]) funktioniert leider nicht, liefert z.B. bei 10 vorhandenen VersNrn
D1
D2
...
D9
D10

die D9 ...

Nun kann ich aber weiter, vielen DANK auch an Stefan (stupsnose) und eine schöne Woche wünscht

PCFJKG
Bitte warten ..
Mitglied: PCFJKG
31.08.2009 um 10:20 Uhr
Hallo Stefan,
ich konnte das Problem mit CInt() an Stelle von Cast() lösen (siehe auch Antwort Biber).


Eine schöne Woche wünscht

PCFJKG
Bitte warten ..
Mitglied: Biber
31.08.2009 um 10:47 Uhr
Moin PCFJKG,

okay, eine "Max(VersNr)" wie von mir vorgeschlagen würde in der Tat nicht funktionieren, wenn diese "VersNr"-Strings unterschiedliche Längen haben (also "D1" existiert und auch "D12" und "D1111").
Da kommt natürlich bei der alphanummerischen MAX()-Auswertung eine andere Reihenfolge als die nach den Zahlenwerten geordnete.

Zu der Nachfrage bezüglich "der schlampig hingebratzten CAST-Funktion".
Damit meinte ich nicht Deine Umsetzung, sondern die ziemlich halbgare Implemetierung seitens der RedmonderInnen.

Das Typische dabei ist, dass "allgemein als Standard erwartete Funktionen" wie bei SQL halt CAST/CONVERT schon irgendwie umgesetzt werden, aber eben "der Form halber".
So wie bei der meisten (verkauften) Software "der Form halber" auch irgendein Hilfefenster aufpoppt wenn F1 gedrückt wird.
Also es ist schon etwas vorhanden. Aber es hat unübersehbar Potentiale.

<OT>
Ein ähnliches Dauerärgernis-Thema der "pro forma"-realisierten Standardfunktionen sind beispielsweise die bei ADO/DAO ja höchst individuell auseinanderlaufenden Methoden der RecordSet-Objekte.

Ein buchstabengleiches "rst.Find" mit einem DAO-Recordset kann ein ganz anderes Ergebnis bringen als ein "rst.Find" mt einem ADO-Object.
Und das ist nicht die Form von Kompatibilität, die ich mir erhoffe eigentlich.
</OT>

Grüße
Biber
Bitte warten ..
Mitglied: PCFJKG
01.09.2009 um 06:25 Uhr
Hallo Biber,

danke auch für diese tröstlichen Worte denn:

solange Leute wie Du in der Lage und willens sind, diese beschriebenen und andere Sorgen von uns Nutzern zu lösen, kommt man zumindest weiter und die oft so nach und nach aufkommenden "Zweifel am eigenen Verstand" wurden wieder (zumindest teilweise) genommen. Das ägerliche ist tatsächlich die unnötig verschwendetet Zeit; vom Nervenkostüm (je nach aktueller Stimmungslage) ganz zu schweigen.

Im Moment ist für mich die Welt wieder einigermaßen in Ordnung, nicht zuletzt dank Deiner Hilfe (übrigens nicht zu ersten mal).

Also again: thanks a lot and best wishes from

PCFJKG
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell Variable mit einem Operator versehen
gelöst Frage von pixel0815Batch & Shell11 Kommentare

Moin, ich hab da ein Problem. Das Script funtioniert ansich wunderbar, aber der SamAccountName aus der DEST Domäne (trust ...

Server-Hardware
Fehlende Treiber!
gelöst Frage von Hendrik2586Server-Hardware11 Kommentare

Frohes Neues wünsche ich euch allen! Mein Serverumzug hat super geklappt und ich bin gerade dabei den alten ein ...

Router & Routing
Fehlende Redundanz
gelöst Frage von aguilaRouter & Routing19 Kommentare

Hallo zusammen, Ich habe ein Standort, der über eine VPN Verbindung an die Zentrale angebunden ist. Das VPN zwischen ...

Windows Netzwerk
Fehlendes Netzwerkprotokoll
Frage von ThorgeonWindows Netzwerk1 Kommentar

Moin Moin, Folgendes Problem ich will meine Playstation 4 mittels Rechner über nen Surfstick laufen lassen, so weit so ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 14 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 14 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 22 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server15 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Windows 10
Alle Programme mit bestimmtem Namen automatisch (per GPO) deinstallieren
gelöst Frage von lordofremixesWindows 1012 Kommentare

Hallo zusammen, gibt es eine Möglichkeit, alle Programme beginnend mit z.B. "Dell" im Namen per Script und somit per ...