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


Hämta senaste id + langa in det i en relaterad tabell.

Postades av 2002-10-21 20:49:52 - Raderat konto, i forum access, Tråden har 1 Kommentarer och lästs av 777 personer

Tjena alla.


Har ett lite problem med Access databas. Nämligen så att jag vill först lägga in en post, sedan ta ut det senaste id från posten som lagts in. Efter detta vill jag lägga in flera poster i en relaterad tabell med idet som jag precis fått tillbaka.
Men problemet är att jag får ett error när jag kör den. Det visar sig att jag kan lägga in den första posten i den relaterade tabellen men inte en ytterligare. Då får jag följande fel:


You cannot add or change a record because a related record is required in table 'Projects'.


Min kod ser ut på följande sätt:

If (bProj_Isolated = "on") then
bProj_Isolated = "true"
Else
bProj_Isolated = "false"
End If

sSqlString = "INSERT INTO [Projects] " &_
"(Proj_Number, " &_
"Proj_Name, " &_
"Proj_OwnerId, " &_
"Proj_CreationDate, " &_
"Proj_Status, " &_
"Proj_StartDate, " &_
"Proj_EndDate, " &_
"Proj_Intern, " &_
"Proj_Type, " &_
"Proj_Customer, " &_
"Proj_Ordernumber, " &_
"Proj_Isolated, " &_
"Proj_Information) " &_

"Values(" &_
"'" & sProj_Number & "', " &_
"'" & sProj_Name & "', " &_
"" & Session("UserId") & ", " &_
"#" & now & "#, " &_
"" & iProj_Status & ", " &_
"#" & dProj_StartDate & "#, " &_
"#" & dProj_EndDate & "#, " &_
"" & bProj_IsExtern & ", " &_
"'" & sProj_Type & "', " &_
"'" & sProj_Customer & "', " &_
"" & iProj_OrderNumber & ", " &_
"" & bProj_Isolated & ", " &_
"'" & Replace(sProj_Description, vbcrlf, "<br>") & "')"

oCon.Execute(sSqlString)

sSqlString = "SELECT @@identity " &_
"FROM Projects;"
Set oRs = oCon.Execute(sSqlString)

aProj_Participants = Split(iProj_Participants, ",")

Dim x
For x=0 to Ubound(aProj_Participants)
sSqlString = "INSERT INTO [Projects_conn] (Proj_UserId, Proj_ProjectId)Values(" & aProj_Participants(x) & "," & oRs(0) & ")"
oCon.Execute(sSqlString)
Next


Hoppas nån kan hjälpa mig.


Svara

Sv: Hämta senaste id + langa in det i en relaterad tabell.

Postades av 2002-10-21 21:46:30 - Andreas Hillqvist

Tror inte Tabellnamnet ska ingå i SELECT satsen som hämtar ID't. Annars kan du gå tillväga på den beprövade sättet med recordset:
<code>
Dim x
Dim NewId
Const adUseServer = 2
Const adOpenKeyset = 1
Const adLockOptimistic = 3

Set oRs = Server.CreateObject("ADODB.Recordset")
oRs.CursorLocation = adUseServer
oRs.Open "Projects", oCon, adOpenKeyset, adLockOptimistic

oRs.AddNew
oRs("Proj_Number") = sProj_Number
oRs("Proj_Name") = sProj_Name
oRs("Proj_OwnerId") = Session("UserId")
oRs("Proj_CreationDate") = Now()
oRs("Proj_Status") = iProj_Status
oRs("Proj_StartDate") = dProj_StartDate
oRs("Proj_EndDate") = dProj_EndDate
oRs("Proj_Intern") = bProj_IsExtern
oRs("Proj_Type") = sProj_Type
oRs("Proj_Customer") = sProj_Customer
oRs("Proj_Ordernumber") = iProj_OrderNumber
oRs("Proj_Isolated") = (bProj_Isolated = "on")
oRs("Proj_Information") = Replace(sProj_Description, vbcrlf, "<br>")
oRs.Update

NewId = oRs("Proj_ProjectId")

oRs.Close

aProj_Participants = Split(, ",")

For x=0 to Ubound(aProj_Participants)
sSqlString = "INSERT INTO [Projects_conn] (Proj_UserId, Proj_ProjectId) VALUES (" & aProj_Participants(x) & "," & NewId & ")"
oCon.Execute(sSqlString)
Next
</code>
Om du har användarna i en separat tabell. Kan du infoga dem med en insert:
<code>
sSqlString = "INSERT INTO [Projects_conn] (Proj_UserId, Proj_ProjectId) SELECT UserId, " & NewId & " FROM Users WHERE UserId IN (" & iProj_Participants & ")"
oCon.Execute(sSqlString)
</code>


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 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

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 841
27 960
271 761
587
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
Expand
next previous
Close

Previous

0/0

Next