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


Uppdatering!!!!!!

Postades av 2002-07-20 18:14:19 - Abbe Moh, i forum visual basic - allmänt, Tråden har 2 Kommentarer och lästs av 585 personer

Jag försökte uppdatera två olika konto i samma tabell konto1 och konto2, men det uppdateras bara konto2 och inte konto1<br>
<br>
hur ska jag rätta felet för att båda konton ska uppdateras på en knapp tryckning:<br>
<br>
Här är koden:<br>
<code>

Private Sub Command1_Click()
Dim SQL As String
Dim saldo1, saldo2, belopp As Integer

saldo1 = Text4
saldo2 = Text6
belopp = Text2

If Text1 = Text3 Then
MsgBox "Överföringen avbryts pga samma kontonummer", vbInformation, "Fixa det"
Exit Sub
End If

If Text4 < belopp Then
MsgBox "För stort belopp att överföra! Transaktionen avbryts.", vbInformation, "Fixa det"
Exit Sub
End If

saldo2 = saldo2 + belopp
saldo1 = saldo1 - belopp

'---------Konto1 uppdateras-------------
SQL = "UPDATE konto SET saldo ="
SQL = SQL & saldo1 & " WHERE kontonr="
SQL = SQL & Text1.Text & ""
MsgBox (SQL)

'---------Konto2 uppdateras-------------
SQL = "UPDATE konto SET saldo ="
SQL = SQL & saldo2 & " WHERE kontonr="
SQL = SQL & Text3.Text & ""
MsgBox (SQL)


On Error GoTo Couldnt_insert 'sätt på felhanteraren
'dbkoppling.BeginTrans
dbkoppling.Execute SQL
'dbkoppling.CommitTrans
On Error GoTo 0 'stäng av felhanteraren
Exit Sub

Couldnt_insert:
dbkoppling.RollbackTrans 'släpper låsningar om update
'har misslyckats
MsgBox ("Kunde inte uppdatera!")
Exit Sub

End Sub
</code>
MVH<br>
/Abbe<br>


Svara

Sv: Uppdatering!!!!!!

Postades av 2002-07-20 20:50:56 - Abbe Moh

Jag har fixat problemet,,, det behövs ingen hjälp här

MVH
/Abbe


Svara

Sv: Uppdatering!!!!!!

Postades av 2002-07-20 23:14:02 - Andreas Hillqvist

Vet inte om du tänkt på detta men om du skriver ett negativt belopp kan du undertrakasera kontot du överför pengar till.<br>
<br>
Jag har kikat lite på din kod. Har gjort en egen variant på det du gör. Du kanske kan använda något av den. Så jag skickar med den:
<code>
Function SQLNumber(ByVal Value As Variant) As String
If IsNumeric(Value) Then
SQLNumber = Replace(CStr(Value), Format(0, "."), ".")
Else
SQLNumber = "Null"
End If
End Function

Public Function ExecuteTransaction(Conn As ADODB.Connection, ByVal Account1 As Long, ByVal Account2 As Long, ByVal Amount As Currency) As Boolean
Dim strSQL As String
Dim RecordsAffected As Long
On Error GoTo ExecuteTransaction_Err

Conn.BeginTrans

strSQL = "UPDATE konto SET saldo = saldo - " & SQLNumber(Amount) & vbCrLf & _
"WHERE kontonr = " & Account1 & " AND (saldo - " & SQLNumber(Amount) & ") > 0"
Conn.Execute strSQL, RecordsAffected

If RecordsAffected = 1 Then
strSQL = "UPDATE konto SET saldo = saldo + " & SQLNumber(Amount) & vbCrLf & _
"WHERE kontonr = " & Account2 & " AND (saldo + " & SQLNumber(Amount) & ") > 0"
Conn.Execute strSQL, RecordsAffected

If RecordsAffected = 1 Then
Conn.CommitTrans
ExecuteTransaction = True
Else
Conn.RollbackTrans
End If
Else
Conn.RollbackTrans
End If

ExecuteTransaction_Exit:
Exit Function

ExecuteTransaction_Err:
'släpper låsningar om fel inträffar
Conn.RollbackTrans

End Function

Private Sub Command1_Click()
Dim strSQL As String
Dim Konto1 As Long
Dim Konto2 As Long
Dim Saldo1 As Long
Dim Saldo2 As Long
Dim Belopp As Long
Konto1 = CLng(Text1.Text)
Konto2 = CLng(Text3.Text)
Saldo1 = CLng(Text4.Text)
Saldo2 = CLng(Text6.Text)
Belopp = CLng(Text2.Text)

If Konto1 = Konto2 Then
MsgBox "Överföringen avbryts pga samma kontonummer", vbInformation, "Fixa det"
'Undertrakasering kontrolleras med Andra vilkoret i Where satsen.
'ElseIf Belopp > Saldo1 Then
' MsgBox "För stort belopp att överföra! Transaktionen avbryts.", vbInformation, "Fixa det"
Else
If ExecuteTransaction(dbkoppling, Konto1, Konto2, Belopp) Then
'Uppdatera Text4 och Text6 med nytt saldo
Text4 = GetSaldo(Konto1)
Text6 = GetSaldo(Konto2)
Else
MsgBox "Transaction misslyckades!"
End If
End If
End Sub

Private Function GetSaldo(ByVal Konto As Long) As Currency
Dim rsTemp As ADODB.Recordset
Set rsTemp = New ADODB.Recordset
rsTemp.Open "SELECT saldo FROM konto WHERE kontonr=" & SQLNumber(Konto), dbkoppling
If rsTemp.EOF Then
ElseIf IsNull(rsTemp("saldo")) Then
Else
GetSaldo = rsTemp("saldo")
End If
rsTemp.Close
End Function
</code>


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 569 607
27 953
271 705
738
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