Announcement

Collapse
No announcement yet.

suchen im autowert feld ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • suchen im autowert feld ?

    hallo,
    benutze delphi 5 prof (SP1) und als ado "schnittstelle" die deersoft komponenten ... habe problem beim einfachen suchen oder filtern in einem autowert feld (access 2000)
    <br><br>
    folgende zeilen:<br>
    s := inttostr(Query.FieldValues['mitglied_id']);<br>
    TabMitglied.Find('mitglied_id = ' + s);<br><br>

    die umwandlung der id in s : string is kein problem aber bei der find-methode bekomm ich nen variant umwandlungs error ... wie gesagt das mitglied_id is da ein autowert ! am query rückgabewert liegt es also nicht ... jemand ne idee ?

  • #2
    Hallo,

    &gt;..die deersoft komponenten ...

    ich würde dort nach dem Problem suchen, denn die Find-Methode des Recordset-Objekts erwartet mehr Parameter, wie das folgende Beispiel zeigt (d.h. die Komponenten muss irgendetwas "drumrumbauen"):
    <pre>

    <b>uses</b> ADOInt;

    <b>procedure</b> TForm1.Button1Click(Sender: TObject);
    <b>var</b>
    aConnection : _Connection;
    aRecordset : _Recordset;
    swConnString: WideString;
    <b>begin</b>
    <font color="#003399"><i>// Step 1: Connection-Objekt</i></font>
    aConnection:= CoConnection.Create;
    swConnString := <font color="#9933CC">'Provider=Microsoft.Jet.OLEDB.4.0; '</font> +
    <font color="#9933CC">'Data Source=C:\Database\FindAutoInc.mdb;'</font> +
    <font color="#9933CC">'Persist Security Info=False'</font>;
    aConnection.Open(swConnString, <font color="#9933CC">''</font>, <font color="#9933CC">''</font>, adConnectUnspecified);
    <font color="#003399"><i>// Step 2: Recordset-Objekt</i></font>
    aRecordset:=CoRecordSet.Create;
    <b>try</b>
    <font color="#003399"><i>// Step 3: Datenmenge des Recordsets aufbauen</i></font>
    aRecordset.Open(<font color="#9933CC">'SELECT * FROM TEST'</font>, aConnection, adOpenStatic, adLockReadOnly, adCmdText);
    <font color="#003399"><i>// Step 4: Nach dem Primärschlüsselwert (Autowert) suchen</i></font>
    aRecordset.Find(<font color="#9933CC">'RecID=3'</font>, 0, adSearchForward, EmptyParam);
    ShowMessage(aRecordset.Collect[1]);
    <b>finally</b>
    aRecordset.Close;
    <b>end</b>;
    <b>end</b>;

    </pre>
    Die Tabelle TEST verwendet 2 Spalten: <i>RecIC</i> als Autowert und <i>Wert</i> als Textspalte mit 20 Zeichen. In der Tabelle sind 4 Datensätze. Die MessageBox zeigt den Wert für die 2. Spalte des gefundenen Datensatz (mit der gesuchten RecID von 3) an

    Comment

    Working...
    X