Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


ADO: fel -2147467259 Frågan är för komplex

Postades av 2005-11-06 12:30:22 - Magnus Lüttkens, i forum databaser, Tråden har 10 Kommentarer och lästs av 1467 personer

Jag ansluter till en Access-databas via ADO. Jag har två tabeller, APARTMENT och HOUSE, där HOUSE har flest antal fält.

När jag raderar en post mha rs.Delete fungerar det på tabellen APARTMENT men inte PÅ HOUSE. Då uppstår följande fel:


[Microsoft][Drivrutin för ODBC Microsoft Access] Frågan är för komplex.

ID: -2147467259

Vad är felet? Exakt samma sak fungerar på båda tabeller med en MySQL-databas.


Svara

Sv: ADO: fel -2147467259 Frågan är för komplex

Postades av 2005-11-06 16:26:50 - Johan Djupmarker

Antalet fält borde inte ha någon betydelse vid delete... Låter ju nästan som en bugg i ADO. Om det är antalet fält som är problemet kan du ju läsa in lite färre, det har ju ingen betydelse vid delete.

/Johan


Svara

Sv: ADO: fel -2147467259 Frågan är för komplex

Postades av 2005-11-06 20:17:06 - Andreas Hillqvist

Hur ser frågan ut?


Svara

Sv:ADO: fel -2147467259 Frågan är för komplex

Postades av 2005-11-06 22:12:13 - Magnus Lüttkens

Så här ser den kod ut där det blir fel:

Idén med den är att flytta över alla poster i databasen med anslutning tmpConn till Conn.
Efter varje kopierad post, tar jag bort den. Egentligen kam man nog lösa det på annat vis, men det bör ju funka, eller?!

                'Flyttar över hus
                tmpRS.Open "SELECT * FROM House WHERE ID >=10;", tmpConn, adOpenStatic, adLockOptimistic
                rs.Open "SELECT * FROM House WHERE 1=0;", conn, adOpenStatic, adLockOptimistic
                Do While tmpRS.RecordCount > 0
                    rs.AddNew
                    tmpRS.MoveFirst
                    For I = 0 To tmpRS.Fields.Count - 1
                        rs.Fields(I) = tmpRS.Fields(I)
                    Next I
                    'Ser till att varje post får ett nytt, unikt ID-nummer
                    tmpNewID = tmpNewID + 1
                    rs("ID") = tmpNewID
                    rs.Update
                    tmpMovedRows = tmpMovedRows + 1
                    tmpRS.Delete 'Här uppstår felmeddelandet
                    'Visar användaren progressionen
                    frmWaitScreen.lblText.Caption = "Flyttar kunder...(" & tmpMovedRows & "/" & tmpRowCount & ")"
                    DoEvents
                Loop


Svara

Sv:ADO: fel -2147467259 Frågan är för komplex

Postades av 2005-11-07 20:47:45 - Magnus Lüttkens

Sant, men nu upptäckte jag samma problem när jag anropar rs.Update.
Det verkar ju heltokigt, det kan väl inte finnas en begränsning på antal fält som är möjliga att påverka? I detta fall handlar det om ca 200 - 250 st fält.

När jag anropar MySQL databasen, funkar det fint fint i alla fall...

Ingen som har en förklaring? Är Access som en usel databas...just nu känns det så. Detta måste funka!


Svara

Sv: ADO: fel -2147467259 Frågan är för komplex

Postades av 2005-11-08 07:47:28 - Johan Djupmarker

Access i sig har en begränsning på 255 fält i en tabell. Vet inte om det finns någon begränsning som är lägre när det gäller ADO. Kör du med ODBC eller OLEDB-drivrutin? Kör du med ODBC bör du byta, det brukar uppstå underliga fel med den.

Om du har så många fält i din tabell bör du även fundera på din databas-design, det borde finnas bättre sätt att lösa din lagring på. Kan du beskriva vad det är för typ av information som sparas i alla fälten?

/Johan


Svara

Sv:ADO: fel -2147467259 Frågan är för komplex

Postades av 2005-11-08 08:29:29 - Magnus Lüttkens

Tack för din hjälp!

Jag använder ODBC, har inte använt OLEDB och vet inte något om det. Funkar det som samma sätt?

Databasen innehåller information om värderingar av småhus och lägenheter. Jag har bara två tabeller, en HOUSE och en APARTMENT. Gissar att det är en dålig databasdesign, har inte hållt på med det tidigare, men kruxet är att en värdering av hus består av en massa information. Jag har redan begränsat antal fält genom att använda mig av arrays i MEMO-fält, istället för flera fält.

Kanske bör man dela upp HOUSE i fler tabeller? Är det en bra lösning?

Kan föresten nämna att det funkar att hämta alla fält och anropa rs.AddNew, men inte med rs.Update. Skumt...med DAO funkar det utan problem, med ADO och MySQL inga problem MEN med ADO och Access bara problem...


Svara

Sv: ADO: fel -2147467259 Frågan är för komplex

Postades av 2005-11-08 09:51:14 - Johan Djupmarker

Det är enbart kopplingssträngen som skiljer, såhär ska den se ut istället:

Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../db/db.mdb")

Om du har MEMO-fält kan det kanske ställa till det lite också, har varit med om att det har spökat...

/Johan


Svara

Sv:ADO: fel -2147467259 Frågan är för komplex

Postades av 2005-11-08 19:59:17 - Magnus Lüttkens

Tyvärr är frågan fortfarande för komplex....suck

Tack ändå!


Svara

Sv: ADO: fel -2147467259 Frågan är för komplex

Postades av 2005-11-13 16:25:57 - Andreas Hillqvist

Testa att använda en dynamic cursor istället för statisk.


Svara

Sv:ADO: fel -2147467259 Frågan är för komplex

Postades av 2005-11-15 20:42:20 - Magnus Lüttkens

Har inte provat det men jag ändrade CursorLocation till adUseServer, istället för adUseClient. Då fungerade det!

Tack ändå! Uppskattar alla hjälpsamma!


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 652
27 958
271 741
1 257
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies