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


En post för lite

Postades av 2001-07-06 08:19:00 - Kjell Andersson, i forum databaser, Tråden har 11 Kommentarer och lästs av 803 personer

Jag önskar ta bort alla dubbletter där variablen PNR är lika och använder följande kod


rsSokning.MoveFirst
PnrPrev = rsSokning.Fields("PNR").Value

rsSokning.MoveNext
While Not rsSokning.EOF

If rsSokning.Fields("PNR").Value = PnrPrev Then
rsSokning.Delete

Else
PnrPrev = rsSokning.Fields("PNR").Value

End If

rsSokning.MoveNext

Wend

Det som sker nu är att den sista posten ej kommer med. Jag har prövat att flytta MoveNext till andra platser med det blir antingen ytterligare en post för lite eller så MoveNext när det är slut på poster. Kan jag göra på något annat sätt?


Svara

Sv: En post för lite

Postades av 2001-07-06 09:17:00 - Sven Åke Persson

Hej
Testa det här

rsSokning.MoveFirst
PnrPrev = rsSokning.Fields("PNR").Value

Do Until rsSokning.EOF

If rsSokning.Fields("PNR").Value = PnrPrev Then
rsSokning.Delete

Else
PnrPrev = rsSokning.Fields("PNR").Value

End If

rsSokning.MoveNext

Loop

mvh
Sven


Svara

Sv: En post för lite

Postades av 2001-07-06 09:39:00 - Andreas Högström

Kan det vara så att Delete metoden navigerar till nästa post? Testa isåfall med:

Do Until rsSokning.EOF
If rsSokning.Fields("PNR").Value = PnrPrev Then
rsSokning.Delete
Else
PnrPrev = rsSokning.Fields("PNR").Value
rsSokning.MoveNext
End If
Loop


Svara

Sv: En post för lite

Postades av 2001-07-06 09:49:00 - Sven Åke Persson

Hej
Som vanligt blev det snabbt och fel
Förutom Highstream :s svar så bör det se ut så här.

Dim recCount As Long,i As Long

rsSokning.MoveLast
recCount = rsSokning.RecordCount - 1
rsSokning.MoveFirst

PnrPrev = rsSokning.Fields("PNR").Value
rsSokning.MoveNext

For i = 1 To recCount

If rsSokning.Fields("PNR").Value = PnrPrev Then
rsSokning.Delete
Else
PnrPrev = rsSokning.Fields("PNR").Value
rsSokning.MoveNext
End If
Next i

mvh
Sven


Svara

Sv: En post för lite

Postades av 2001-07-06 10:04:00 - Kjell Andersson

Funkar ej. Det blir felmeddelandet "En angiven HROW hänvisar till en borttagen rad"


Svara

Sv: En post för lite

Postades av 2001-07-06 10:04:00 - Kjell Andersson

Funkar ej. Det blir felmeddelandet "En angiven HROW hänvisar till en borttagen rad"


Svara

Sv: En post för lite

Postades av 2001-07-06 10:49:00 - Andreas Hillqvist

Jag har gjort ett litet exempel som fungerar:

Private Sub Form_Load()
Dim rsTemp As ADODB.Recordset
Dim LastId As Long
Dim fldRecID As ADODB.Field
Dim fldName As ADODB.Field
Set rsTemp = GetRecordset()
Set fldRecID = rsTemp("RecID")
Set fldName = rsTemp("Name")

Do Until rsTemp.EOF
If LastId = fldRecID Then
rsTemp.Delete
Else
LastId = fldRecID
End If
rsTemp.MoveNext
Loop

rsTemp.MoveFirst
Do Until rsTemp.EOF
Debug.Print fldRecID.Value, fldName.Value
rsTemp.MoveNext
Loop


End Sub

Private Function GetRecordset() As ADODB.Recordset
Dim Fields As Variant
Set GetRecordset = New ADODB.Recordset

GetRecordset.Fields.Append "RecID", adInteger
GetRecordset.Fields.Append "Name", adVarChar, 20

GetRecordset.Open

Fields = Array("RecID", "Name")

GetRecordset.AddNew Fields, Array(1, "Andreas")
GetRecordset.AddNew Fields, Array(2, "Bengt")
GetRecordset.AddNew Fields, Array(2, "Bengt")
GetRecordset.AddNew Fields, Array(3, "Carl")
GetRecordset.AddNew Fields, Array(3, "Carl")
GetRecordset.AddNew Fields, Array(3, "Carl")
GetRecordset.AddNew Fields, Array(4, "David")
GetRecordset.AddNew Fields, Array(4, "David")
GetRecordset.AddNew Fields, Array(4, "David")
GetRecordset.AddNew Fields, Array(4, "David")
GetRecordset.AddNew Fields, Array(5, "Erik")
GetRecordset.AddNew Fields, Array(5, "Erik")
GetRecordset.AddNew Fields, Array(5, "Erik")
GetRecordset.AddNew Fields, Array(5, "Erik")
GetRecordset.AddNew Fields, Array(5, "Erik")

GetRecordset.MoveFirst

End Function


Svara

Sv: En post för lite

Postades av 2001-07-06 13:44:00 - Kjell Andersson

Nu har jag fått det att funka genom att ändra lite i SvenPons kod.

If rsSokning.Fields("PNR").Value = PnrPrev Then
rsSokning.Delete
Else
PnrPrev = rsSokning.Fields("PNR").Value
End If

rsSokning.MoveNext

Next i


i stället för

If rsSokning.Fields("PNR").Value = PnrPrev Then
rsSokning.Delete
Else
PnrPrev = rsSokning.Fields("PNR").Value
rsSokning.MoveNext
End If
Next i








Svara

Sv: En post för lite

Postades av 2001-07-06 20:17:00 - Sven Åke Persson

Hej igen

En fundering , som det nu är så kollar du
bara första posten mot de övriga.
Om record 7 = record 18 hur gör du då ??

undrar
Sven


Svara

Sv: En post för lite

Postades av 2001-07-06 20:25:00 - Andreas Hillqvist

Det är ju bara att lägga till "ORDER BY PNR" i frågan...


Svara

Sv: En post för lite

Postades av 2001-07-07 15:03:00 - Kjell Andersson

Jo det stämmer. PNR är orndade så att alla lika PNR kommer i rad i tabellen.


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 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

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 717
27 958
271 751
932
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