webForumDet fria alternativet

update-strul

2 svar · 206 visningar · startad av Engine^

Engine^Medlem sedan dec. 20002 861 inlägg
#1

Jag tog en annan approach till mitt problem, som jag beskrev i ett tidigare inlägg,men nu börjar jag faktiskt bli gråhårig :(

Det är så att jag har en tabell med två kolumner varav den första är av typen Text. Den andra är Nummer (Double). Textkolumnen består av ID-nummer, t.ex. "1234-567-8901". Jag vill konvertera dessa till 12345678901 och lagra värdet i den andra kolumnen. Konverteringen är inga problem, men min UPDATE som jag använder mig av fungerar inte.

Jag får inga felmeddelanden, så jag vet inte riktigt vad som händer.

Private Sub btnConvert_Click()
    Dim rs As New ADODB.Recordset
    Dim cn As Connection
    Dim strSQL As String, strID As String
    Dim dblID As Double
    
    Set cn = CurrentProject.Connection
    strSQL = "SELECT strArtikelID AS strID FROM import_intArtikelID"
    rs.Open strSQL, cn, adOpenKeyset
    
    While Not rs.EOF
        strID = rs("strID")
        strID = Left(strID, 4) & Mid(strID, 6, 3) & Right(strID, 4)
        dblID = strID
    
        strSQL = "UPDATE tblKonverteraDamnIt SET intArtikelID = " & dblID &
" WHERE strArtikelID = " & rs("strID") & ";"
        cn.Execute strSQL, lngThis
        rs.MoveNext
    Wend
    
    Me.btnConvert.SetFocus
    rs.Close
    Set cn = Nothing
    Set rs = Nothing
End Sub

Jag känner mig helt vilse i kolan nu, så kan någon vänlig själ vara så snäll att få ut mig ur kolan och in på spåret.

LarsGMedlem sedan dec. 200012 465 inlägg
#2

Du kan konvertera alla värden direkt med en update

strSQL = "UPDATE tblKonverteraDamnIt SET intArtikelID = " & _
" cdbl(Left(strArtikelID, 4) & Mid(strArtikelID, 6, 3) & Right(strArtikelID, 4))"
Engine^Medlem sedan dec. 20002 861 inlägg
#3

Där var en sak jag inte tänkt på, men det tackar jag för :)

Jag löste samtidigt mitt problem med updaten... missade en viktig detalj i WHERE-satsen. Om jag testar ett värde mot ett annat, så se för fanken till att det är samma datatyper som testas ;)

Slår mig själv med enorma citationstecken... *uff* *bonk*

WHERE strArtikelID = """ & rs("strID") & """;"

Hatar sånna här missar. Nu får man skämmas oxå... :x

122 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
119 ms — hämta tråd, inlägg och bilagor (db)