DAO 3.60: Vlastnost Záložka nastavení přesune na nesprávném řádek

Překlady článku Překlady článku
ID článku: 238134 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Záložku pomocí 3.60 DAO umístí vlastnost sady záznamů přejít na určitý záznam můžete na nesprávný záznam. Je to pravděpodobně surface při ukládání záložky a přesunutí na jiný záznam a potom přesunutí zpět na záložkou záznam nastavením Vlastnost Bookmark sady záznamů. To může dojít také při použití vlastnosti LastModified po aktualizaci. Tento problém je pravděpodobně dojít velmi velký počet záznamů má tabulka nebo tabulka má méně záznamů, ale velmi velký počet sloupců.

Při použití DAO 3.51 nedojde.

Řešení

Společnost Microsoft má nyní k dispozici podporovanou opravu, která je určena pouze k odstranění problému popsaného v tomto článku. Použijte ji pouze v počítačích, ve kterých dochází k tomuto konkrétnímu problému. Tato oprava pravděpodobně projde dalším testováním. Doporučuje proto, pokud není použití tento problém, společnost Microsoft počkat další aktualizace service pack pro Microsoft Office obsahující tuto opravu hotfix.

Potřebujete-li odstranit tento problém okamžitě, obraťte se na služby technické podpory společnosti Microsoft, kde můžete tuto opravu získat. Úplný seznam telefonních čísel podpory pro produkty společnosti Microsoft a informace o cenách podpory naleznete na následujícím webu společnosti Microsoft:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
Poznámka: ve zvláštních případech mohou být poplatky, které jsou třeba obvykle zaplatit za telefonní hovory stornovány, jestliže Microsoft pracovník Určuje, že konkrétní aktualizace vyřeší váš problém. Další dotazy a žádosti o podporu, které se netýkají konkrétní aktualizace, podléhají běžným sazbám za poskytnutí podpory.

Anglická verze této opravy má následující nebo vyšší atributy souborů:
   Date      Time    Version      Size    File name     Platform
   -------------------------------------------------------------
   7/14/99           3.60.2927.4  545KB   dao360.dll


				

Jak potíže obejít

Neexistuje žádné řešení tohoto problému.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny na začátku tohoto článku.

Další informace




Ruční instalace

  1. Zavření nebo zastavení aplikací nebo služeb, používáte DAO.
  2. Stáhnout verzi opravy hotfix z Dao360.dll do dočasného adresáře.
  3. Vyhledejte a přejmenujte aktuální verze Dao360.dll, které by měl být ve složce \Program Files\Common Files\Microsoft Shared\DAO.
  4. Kopírovat verzi opravy hotfix Dao360.dll do stejného umístění a restartování služeb a aplikací.

Kroky Reproduce

  1. Vytvořte projekt jazyka (Standardní EXE) a přidat odkaz na knihovnu objektů Microsoft DAO 3.60.
  2. V úvodní formulář (Form1), vytvořit popisek s názvem lblStatus a Přidání příkazového tlačítka.
  3. C opy následující kód do příkazové tlačítko Click() metody spusťte formulář:

    Dim dbTest As DAO.Database
    Dim rsTest As DAO.Recordset
    Dim strPathToMDB As String
    Dim strSQL As String
    Dim lngNumRecords As Long
    Dim lngOriginalValue As Long
    Dim lngCounter As Long
    Dim varBookmark As Variant
    Dim bUseTableType As Boolean
    
    Me.Show
    Me.MousePointer = vbHourglass
    Me.Enabled = False
    strPathToMDB = App.Path & "\BadBookmarks.MDB"
    If MsgBox("Make new database?", vbYesNo) = vbYes Then
        If Dir(strPathToMDB) <> "" Then Kill strPathToMDB
        If DBEngine.Version = "3.6" Then
            If MsgBox("Create Jet 4.0 format database?", vbYesNo) = vbYes Then
                Set dbTest = DBEngine.CreateDatabase(strPathToMDB, dbLangGeneral, dbVersion40)
            Else
                Set dbTest = DBEngine.CreateDatabase(strPathToMDB, dbLangGeneral, dbVersion30)
            End If
        Else
            Set dbTest = DBEngine.CreateDatabase(strPathToMDB, dbLangGeneral, dbVersion30)
        End If
    Else
        Set dbTest = DBEngine.OpenDatabase(strPathToMDB)
    End If
    
    If MsgBox("Make new table?", vbYesNo) = vbYes Then
        On Error Resume Next
        strSQL = "DROP TABLE BadBookmarks"
        dbTest.Execute strSQL
        On Error GoTo 0
        strSQL = "CREATE TABLE BadBookmarks (ID long NOT NULL"
        For lngCounter = 2 To 8
            strSQL = strSQL & ", Field" & lngCounter & " char(255)"
        Next lngCounter
        strSQL = strSQL & ", CONSTRAINT PK_BadBookmarks PRIMARY KEY (ID))"
        dbTest.Execute strSQL
    Else
        dbTest.Execute "DELETE * FROM BadBookmarks"
    End If
    
    bUseTableType = (MsgBox("Use table-type recordset?", vbYesNo))
         
    If bUseTableType Then
        Set rsTest = dbTest.OpenRecordset("BadBookmarks", dbOpenTable)
    Else
        Set rsTest = dbTest.OpenRecordset("SELECT * FROM BadBookmarks")
    End If
    
    lngNumRecords = InputBox("Number of records to insert?", "Bad bookmarks", 1000)
    Debug.Print "Testing DAO " & DBEngine.Version
    Debug.Print "Inserting " & lngNumRecords & " records"
    Debug.Print "Into a version " & dbTest.Version & " database"
    Debug.Print "Using a " & IIf(bUseTableType, "table-type", "dynaset") & " recordset"
    With rsTest
        For lngCounter = 1 To lngNumRecords
            .AddNew
            .Fields(0) = lngCounter
            .Fields(1) = lngCounter
            .Fields(2) = lngCounter
            .Fields(3) = lngCounter
            .Fields(4) = lngCounter
            .Fields(5) = lngCounter
            .Fields(6) = lngCounter
            .Fields(7) = lngCounter
            .Update
            If lngCounter Mod 100 = 0 Then
                lblStatus.Caption = CInt((lngCounter / lngNumRecords) * 100) & _
                                    "% complete inserting records..."
                lblStatus.Refresh
            End If
        Next lngCounter
        .Close
    End With
    
    If bUseTableType Then
        Set rsTest = dbTest.OpenRecordset("BadBookmarks", dbOpenTable)
    Else
        Set rsTest = dbTest.OpenRecordset("SELECT * FROM BadBookmarks")
    End If
    
    With rsTest
        Do While Not .EOF
            lngOriginalValue = .Fields(0)
            varBookmark = .Bookmark
            .MoveNext
            .Bookmark = varBookmark
            If .Fields(0) <> lngOriginalValue Then
                Debug.Print "Should be on row " & lngOriginalValue
                Debug.Print vbTab & "Actually on row " & .Fields(0)
            End If
            If lngOriginalValue Mod 100 = 0 Then
                lblStatus.Caption = CInt((lngOriginalValue / lngNumRecords) * 100) & _
                                    "% complete checking records..."
                lblStatus.Refresh
            End If
            .MoveNext
        Loop
        .Close
    End With
    Set rsTest = Nothing
    dbTest.Close
    Set dbTest = Nothing
    Set DBEngine = Nothing
    lblStatus.Caption = "Done!"
    Me.MousePointer = vbArrow
    Me.Enabled = True

				

Vlastnosti

ID článku: 238134 - Poslední aktualizace: 30. ledna 2014 - Revize: 3.5
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Office 2000 Developer Edition
  • Microsoft Visual Studio 6.0 Service Pack 3
  • Microsoft Access 2000 Standard Edition
Klíčová slova: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbbug kbdao360fix kbfix kbqfe KB238134 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:238134

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com