26. september 2015 - 16:41Der er
9 kommentarer og 1 løsning
Kaan bnogen hjælpe ?
Har stirret mig bind på dette :
---KLIP---
Sub Tekst1() ' ' Opdates table "Faktura_Tekst" in database Fakturaer
Dim X, Y, Hour As Integer Dim bib, StrSql As String Dim Cn3 As ADODB.Connection, Rs3 As ADODB.Recordset Dim Cn4 As ADODB.Connection, Rs4 As ADODB.Recordset
'On Error GoTo Errorhandler
bib = Range("Grundopsatning!A3").Value ' ' Set Cn3 = New ADODB.Connection Set Cn4 = New ADODB.Connection
' Cn3.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & bib & "fakturaer.mdb;" Cn4.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & bib & "fakturaer.mdb;" ' Set Rs3 = New ADODB.Recordset Set Rs4 = New ADODB.Recordset
Rs3.Close Set Rs3 = Nothing Cn3.Close Set Cn3 = Nothing
Rs4.Close Set Rs4 = Nothing Cn4.Close Set Cn4 = Nothing
' ' Call GemCustomer
ExitHere: Exit Sub
Errorhandler:
MsgBox "Tekst " & Err.Description Resume ExitHere End Sub
---KLIP--- Det der er problemet er, at jeg vil have makroen (der omhandler fra koden: With Rs4) til at trække forbrugte timer fra en tabel, der hedder Timer, og i et feltnavn jeg har kaldt Hour. Men hvordan får jeg den til at genoptage næste Y, når den er færdig med at trække fra og lægge til og gør jeg i det hele taget rigtigt?
Takker for dit indlæg, og kan godt se hvad du vil, for det kan næsten ikke lade sig gøre med den opsætning jeg har sat op.
Tanken er at rutinen skal læse de linjer der er i en faktura, og hvis der er timegivende udtryk, skal den både lægge til og trække fra i tabellen Timer.
Jeg vil prøve dit forslag, og se om jeg kan bikse det sammen ;)
Desværre fik jeg det ikke til at virke. Der må da være en måde at kigge rækkerne 19 til 45 igennem om der står noget speciel tekst, og i givet fald, skrive en optælling til databasen.
**************************************** For Y = 19 To 45 .AddNew If InStr(1, Range("B" & Y).Value, "Fremstilling") > 1 Then Timetaller If InStr(1, Range("B" & Y).Value, "Time") > 1 Then Timetaller If InStr(1, Range("B" & Y).Value, "Fejlretning") > 1 Then Timetaller If InStr(1, Range("B" & Y).Value, "Stemning") > 1 Then Timetaller If InStr(1, Range("B" & Y).Value, "Overtid") > 1 Then Timetaller
Next Y
bla. bla bla. ****************************************
sub TimeTaller() With Rs4 .Fields("Hour") = .Fields("Hour") - Range("H" & Y).Value .Fields("Timer_Forb") = .Fields("Timer_Forb") + Range("H" & Y).Value .Update end with end sub
**************************************** For Y = 19 To 45 .AddNew If InStr(1, Range("B" & Y).Value, "Fremstilling") > 1 Then Timetaller(Y) If InStr(1, Range("B" & Y).Value, "Time") > 1 Then Timetaller(Y) If InStr(1, Range("B" & Y).Value, "Fejlretning") > 1 Then Timetaller(Y) If InStr(1, Range("B" & Y).Value, "Stemning") > 1 Then Timetaller(Y) If InStr(1, Range("B" & Y).Value, "Overtid") > 1 Then Timetaller(Y)
Next Y
bla. bla bla. ****************************************
sub TimeTaller(Dim Y as integer) With Rs4 .Fields("Hour") = .Fields("Hour") - Range("H" & Y).Value .Fields("Timer_Forb") = .Fields("Timer_Forb") + Range("H" & Y).Value .Update end with end sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.