WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 05.07.2004, 13:44   #11
Chrisi99
Inventar
 
Benutzerbild von Chrisi99
 
Registriert seit: 22.12.2002
Alter: 40
Beiträge: 2.644

Mein Computer

Chrisi99 eine Nachricht über ICQ schicken
Standard

hm, der code reicht ihm wieder nicht

Laufzeitfehler "Für mindestens einen erforderlichen Parameter wurde kein Wert übergeben"

bei: rst.Open strSQL, cnn
____________________________________
Der Unterschied zwischen Theorie und Praxis ist, das es in der Theorie keinen Unterschied zwischen Theorie und Praxis gibt, in der Praxis aber schon.

Wer schreibt, der bleibt!
Chrisi99 ist offline   Mit Zitat antworten
Alt 05.07.2004, 14:19   #12
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Dann hat du einen Fehler im SQL-Statement. Falscher Feldname z. B.

Das Beispiel funktioniert unter Excel 2002

Ich verabschiede mich jetz bis morgen Abend.

mfg

WB
wbendl ist offline   Mit Zitat antworten
Alt 05.07.2004, 14:26   #13
Chrisi99
Inventar
 
Benutzerbild von Chrisi99
 
Registriert seit: 22.12.2002
Alter: 40
Beiträge: 2.644

Mein Computer

Chrisi99 eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von wbendl
Dann hat du einen Fehler im SQL-Statement. Falscher Feldname z. B.

Das Beispiel funktioniert unter Excel 2002

Ich verabschiede mich jetz bis morgen Abend.

mfg

WB
habs zum laufen gebracht

jetzt beibt nur eine Frage: kann man der where-klausel eine Variabe übergeben (und vor allem wie )

mfg
____________________________________
Der Unterschied zwischen Theorie und Praxis ist, das es in der Theorie keinen Unterschied zwischen Theorie und Praxis gibt, in der Praxis aber schon.

Wer schreibt, der bleibt!
Chrisi99 ist offline   Mit Zitat antworten
Alt 05.07.2004, 15:30   #14
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard

Zitat:
Original geschrieben von Chrisi99
habs zum laufen gebracht

jetzt beibt nur eine Frage: kann man der where-klausel eine Variabe übergeben (und vor allem wie )

mfg
natürlich!

Du musst dir einfach den Abfrage String zusammenbasteln - in deinem Fall dann so:

sql1 = "SELECT Tabelle1.PNR, Tabelle1.NAME, Tabelle1.VNAM, Tabelle1.KST FROM Tabelle1 WHERE (((Tabelle1.PNR)= " & Variable & "))"
renew ist offline   Mit Zitat antworten
Alt 06.07.2004, 10:55   #15
Chrisi99
Inventar
 
Benutzerbild von Chrisi99
 
Registriert seit: 22.12.2002
Alter: 40
Beiträge: 2.644

Mein Computer

Chrisi99 eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von LLR
natürlich!

Du musst dir einfach den Abfrage String zusammenbasteln - in deinem Fall dann so:

sql1 = "SELECT Tabelle1.PNR, Tabelle1.NAME, Tabelle1.VNAM, Tabelle1.KST FROM Tabelle1 WHERE (((Tabelle1.PNR)= " & Variable & "))"
leider kann ich bei dieser variante keine Wildcards (*) benutzen, scheinbar hat
Set rc1 = db.OpenRecordset(sql1)
Proleme damit (Syntaxfehler, fehlender Operator)

eine Idee?

mfg
____________________________________
Der Unterschied zwischen Theorie und Praxis ist, das es in der Theorie keinen Unterschied zwischen Theorie und Praxis gibt, in der Praxis aber schon.

Wer schreibt, der bleibt!
Chrisi99 ist offline   Mit Zitat antworten
Alt 06.07.2004, 15:11   #16
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard

Wie Wildcards? Was hatn Tabelle1.PNR für einen Datentyp? String?
Und bei dem willst Wildcards benutzen - oder? (ich rate mal, falls es anders ist, schreib einfach )

Also wenn ich mit meiner Annahme recht haebn, dann sollte die Abfrage so ausschaun:

sql1 = "SELECT Tabelle1.PNR, Tabelle1.NAME, Tabelle1.VNAM, Tabelle1.KST FROM Tabelle1 WHERE (((Tabelle1.PNR) LIKE '*" & Variable & "*'))"
renew ist offline   Mit Zitat antworten
Alt 06.07.2004, 15:49   #17
Chrisi99
Inventar
 
Benutzerbild von Chrisi99
 
Registriert seit: 22.12.2002
Alter: 40
Beiträge: 2.644

Mein Computer

Chrisi99 eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von LLR
Wie Wildcards? Was hatn Tabelle1.PNR für einen Datentyp? String?
Und bei dem willst Wildcards benutzen - oder? (ich rate mal, falls es anders ist, schreib einfach )

Also wenn ich mit meiner Annahme recht haebn, dann sollte die Abfrage so ausschaun:

sql1 = "SELECT Tabelle1.PNR, Tabelle1.NAME, Tabelle1.VNAM, Tabelle1.KST FROM Tabelle1 WHERE (((Tabelle1.PNR) LIKE '*" & Variable & "*'))"
nein , es sind mitarbeitsnummern und da möchte ich mir alle Mitarbeiter anzeigen lassen (oder geht von-bis ?? das wäre natürlich am praktischten )

mfg
____________________________________
Der Unterschied zwischen Theorie und Praxis ist, das es in der Theorie keinen Unterschied zwischen Theorie und Praxis gibt, in der Praxis aber schon.

Wer schreibt, der bleibt!
Chrisi99 ist offline   Mit Zitat antworten
Alt 06.07.2004, 18:46   #18
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Jetzt bin ich wieder in Amt und würden.

Wenn du alle DS willst, brauchst du eigentlich keine WHERE-Klausel

Alle DS:
sql1 = "SELECT PNR, NAME, VNAM, KST FROM Tabelle1"

Ein DS
sql1 = "SELECT PNR, NAME, VNAM, KST FROM Tabelle1 WHERE PNR = " & NumerischeVariable

DS aus einem bestimmten Bereich:
sql1 = "SELECT PNR, NAME, VNAM, KST FROM Tabelle1 WHERE PNR BETWEEN " & NumerischeVariable1 & " AND " & NumerischeVariable2

Noch ein Hinweis:
Wenn in der WHERE-Klausel eine Variable vom Typ String verwendet wird, muß sie in einfache Hochkommas (') gesetzt werden.

mfg

WB
wbendl ist offline   Mit Zitat antworten
Alt 07.07.2004, 07:33   #19
Chrisi99
Inventar
 
Benutzerbild von Chrisi99
 
Registriert seit: 22.12.2002
Alter: 40
Beiträge: 2.644

Mein Computer

Chrisi99 eine Nachricht über ICQ schicken
Standard

ich habe jetzt zum ändern folgenden (praktischen ) code
Code:
Sub ändern()

Dim oAcc As New Access.Application
oAcc.OpenCurrentDatabase ("J:\PROJEKT\PIS\test\test.mdb")
oAcc.Visible = False 'fürs entwickeln angenehm
Dim db As DAO.Database
Dim rs As DAO.Recordset


Set db = oAcc.CurrentDb
Set rs = db.OpenRecordset("Autos", dbOpenDynaset)


    'einen Datensatz suchen
    rs.FindFirst "PNR=" & var & ""
    If rs.NoMatch Then
    'Nix gefunden
    Else
    'Datensatz ändern
    rs.Edit
    rs!Marke = car
    rs.Update
    End If
    rs.Close
    Set db = Nothing

[gekürzt]
kann ich dieses Konstrukt auch zum Auslesen verwenden? (damit ich ein einheitliches System habe)?

so gaaaanz langsam bekomm ich einen Plan von der Geschichte... aber nur langsam

mfg
____________________________________
Der Unterschied zwischen Theorie und Praxis ist, das es in der Theorie keinen Unterschied zwischen Theorie und Praxis gibt, in der Praxis aber schon.

Wer schreibt, der bleibt!
Chrisi99 ist offline   Mit Zitat antworten
Alt 07.07.2004, 08:55   #20
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Bei dieser Version startest Access. Das ist aber unnötiger Aufwand.

Ich würde dir empfehlen, auch hier die ADO-Variante zu verwenden.
Ist einfacher.

Du mußt nur einen Cursor angeben, der das editieren der Daten erlaubt.

Einen einzelnen DS gleich im SQL-Statement auswählen.
Für mehrere DS die WHERE-Klausel weglassen, und das Recordset filtern.

mfg

WB
wbendl ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:40 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag