Announcement

Collapse
No announcement yet.

aktualisierungsproblem, refresh hilft nicht...

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

  • aktualisierungsproblem, refresh hilft nicht...

    hallo,<br><br>

    ich habe eine kleine access-datenbank auf die ich über ado zugreife. mehrere benutzer sollen gleichzeitig damit arbeiten können, wenn<br> ich aber die methode refresh aufrufe, wird nicht der aktuellste datenbestand angezeigt. nach dem refreshen sollten doch eigentlich alle<br>
    user den selben datenbestand haben. mdac wird version 2.5 verwendet, da wir keinen ie haben wollen.<br>
    ein folgeproblem ist, dass dann, wenn verschiedene user änderungen vorgenommen haben, beim beenden des prog die meldung:
    <br>"die zum aktualisieren angegebene zeile wurde nicht gefunden. einige werte wurden seit dem letzten lesen ggf geändert."<br>
    was mache ich falsch? was muss man beachten, wenn man eine wirklich multiuser-fähige ado-datenbank haben möchte?
    <br>
    für tips aller art bin ich schon jetzt dankbar.<br>
    mfg<br>
    michael k

  • #2
    Hallo Michael,<br>
    wie sieht Dein ConnectionString zur Access - DB aus? Welche Access - Version wird verwendet?<br>
    Hendri

    Comment


    • #3
      Hallo,

      wenn eine ACCESS2000-Datenbank genutzt wird, würde ich folgendes machen: <br>
      - TADODataSet einrichten (CommandType =<b>cmdTableDirect</b>, CommandText = Tabelle)<br>
      - CursorLocation = <b>clUseServer</b><br>
      - CursorType = <b>ctKeySet</b>
      - Lock Type = <b>ltOptimistic</b> <br>
      - Ereignisbehandlungsmethode für <b>BeforeAction</b> vom TDBNavigator:
      <pre>
      procedure TForm1.DBNavigator1BeforeAction(Sender: TObject;
      Button: TNavigateBtn);
      begin
      if Button = nbRefresh then
      begin
      ADODataSet1.UpdateCursorPos;
      ADODataSet1.Resync([]);
      Abort;
      end;
      end;
      </pre&gt

      Comment


      • #4
        <b>Hinweis: </b>

        - CursorLocation = clUseServer
        geht nur wenn es eine Mastertabelle ist!

        Comment


        • #5
          Hi,

          wie ist es mit Requery statt Refresh!
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment


          • #6
            ich glaube (weiß es nicht mit bestimmtheit!!!) das das bei access datenbanken nicht geht!

            BIN

            Comment


            • #7
              <b>Auszug aus (ADO-Programmierung von David Sceppa):</b>

              Sie können diese Methode nur für serverseitige oder client-seitige datensatzgruppen verwenden. ...

              weiters steht da das du keine lesezeichenwerte verwenden darfst!

              <b>(..)</b>

              Der Einsatz eines Lesezeichen, das zuvor für eine server-seitige datensatzgruppe abgerufen wurde, kann in vielen Fällen zu einem laufzeitfehler führen

              Comment


              • #8
                hallo leute,
                <br><br>
                vielen dank für eure interessanten beiträge.<br>
                bin fürs erste dazu übergegangen, ein close/open<br>
                durchzuführen, das klappt immer auf jeden fall,<br>
                ist meiner meinung nach aber unsauber.<br> jetzt werde
                ich in aller ruhe eure antworten ausprobieren.<br>
                nochmal danke.<br>
                mfg<br>
                michael

                Comment

                Working...
                X