hej hubs det er både tekst og tal blandet og bindestreger, jeg har fundet de 2 "" det var selvf. en bøf. Der kommer ingen fejl og den åbner formulareren bare på en blank post. Hvis jeg skriver som i dit eks. kommer der en popup hvor man kan se sagsnr ikke er opfyldt og taster jeg det manuelt der kommer den rette post.
Hvis du siger at "sager_generelt", , , "KompletSagsNr = '2004-B-5-140'" virker fint og at MsgBox sagsnr giver den rette værdi (2004-B-5-140), ja så burde alt-andet-lige følgende virke "sager_generelt", , , "KompletSagsNr = '" & sagsnr & "'"
Vær opmærksom på at der står ' " &...& " ' " bare uden mellemrum'ne c",)
mugs>> Der hvor det fejler er jeg står i en form og klikker på 1 knap denne opretter så et sagsnummer og smider brugeren over på den ny oprettede sag klar til indtastning. Bortset fra at den ikke stiller sig på den nyoprettede sag med mindre jeg i mit modul skriver sagsnummeret på den næste sag jeg opretter så fungerer alt korrekt. Se lidt tidligere i dette spm.
Det undrer mig fordi jeg ofte bruger denne form for kald, men her tér den sig anderledes? Kontrollerer jeg indholdet af min variable linien over docmd kaldet er det den rette værdi den indholder.
Nu kommer her en meget mærkelig oplysning, hvis jeg bruger følgende lini virker det som det skal DoCmd.OpenForm "sager_generelt", , , "KompletSagsNr like '" & sagsnr & "'"
Det ved jeg ikke helt - det er jo en almindelig where statement.. - men du kunne måske overveje openargs istedet:
Sub Form_Open(Cancel As Integer) Dim strEmployeeName As String ' If OpenArgs property contains employee name, find ' corresponding employee record and display it on form. For ' example,if the OpenArgs property contains "Callahan", ' move to first "Callahan" record. strEmployeeName = Forms!Employees.OpenArgs If Len(strEmployeeName) > 0 Then DoCmd.GoToControl "LastName" DoCmd.FindRecord strEmployeeName, , True, , True, , True End If End Sub
Hej Igen Hubs, har siddet og testet lidt, det er tilsyndeladende recordsættet ikke bliver opdateret og posten er derfor ikke med endnu, hvad kan man gøre ved det? Hvis jeg prøver me.requery komme der en invalid use of keyword
Private Sub btnCreate_Click() Dim confirm As String Dim rstName As String
rstName = Me.RecordSource
If Me.sagsNr_text <> "" And Me.oprettetAf_text <> "" Then confirm = MsgBox("Følgende sagsnummer oprettes " & UCase(Me.sagsNr_text), vbOKCancel, "Oprettelse") If confirm = vbOK Then Call Main Else Me.sagsNr_text = "" Me.oprettetAf_text = "" Me.sagsNr_text.SetFocus End If Else MsgBox ("Begge Felter skal udfyldes") Me.sagsNr_text.SetFocus End If End Sub
'BeginAddNewVB Public Sub Main() Dim rstName As String
PassedSagsnr = Me.sagsNr_text
rstName = Me.RecordSource On Error GoTo ErrorHandler
'recordset and connection variables Dim Cnxn As ADODB.Connection Dim rstLøbeNr As ADODB.Recordset Dim strCnxn As String Dim strSQL As String
'record variables Dim strSagsNr As String Dim strOprettet_Af As String Dim blnRecordAdded As Boolean
' Open a connection Set Cnxn = New ADODB.Connection strCnxn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Lobbækbyggeforretning\kundekartotek.mdb;" Cnxn.Open strCnxn
' Open Employees Table with a cursor that allows updates Set rstLøbeNr = New ADODB.Recordset strSQL = rstName rstLøbeNr.Open strSQL, strCnxn, adOpenKeyset, adLockOptimistic, adCmdTable
' Get data from the user strSagsNr = Me.sagsNr_text 'Trim(InputBox("Enter first name:")) strOprettet_Af = Me.oprettetAf_text 'Trim(InputBox("Enter last name:"))
' Proceed only if the user actually entered something ' for both the first and last names If strSagsNr <> "" And strOprettet_Af <> "" Then
Public Function CreateNextCase(PassedSagsnr As Variant) sagsnr = Split(PassedSagsnr, "/")
'check content of dynamic array created above only for control 'MsgBox sagsnr(0) 'MsgBox sagsnr(1) 'MsgBox sagsnr(2) 'MsgBox sagsnr(3)
'recordset and connection variables Dim Cnxn As ADODB.Connection Dim rstSager As ADODB.Recordset Dim strCnxn As String Dim strSQL As String 'record variables Dim strSagsÅr As String Dim strOmråde As String Dim strGruppe As String Dim strLøbenr As String Dim strKompletSagsnr As Variant Dim blnRecordAdded As Boolean
' Open a connection Set Cnxn = New ADODB.Connection strCnxn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Lobbækbyggeforretning\kundekartotek.mdb;" Cnxn.Open strCnxn
' Open sager_generelt table with a cursor that allows updates Set rstSager = New ADODB.Recordset strSQL = "Sager_generelt" rstSager.Open strSQL, strCnxn, adOpenKeyset, adLockOptimistic, adCmdTable
' Get data from the string passed strSagsÅr = "20" & sagsnr(0) strOmråde = UCase(sagsnr(1)) strGruppe = sagsnr(2) strLøbenr = sagsnr(3) strKompletSagsnr = strSagsÅr & "-" & strOmråde & "-" & strGruppe & "-" & strLøbenr
Indent betyder egentlig bare et hak, altså at man lige 'hakker' teksten så den ikke bliver betragtet som kode = 'Calls function and redirects the user c",)
Har du en E-mail så kan jeg lige prøve at sende et simpelt ex. til dig
Jeg får ikke nogen fejl, når jeg bruger me.requery som det er skrevet her.
Men hvis jeg smider det ind i modulet openSag fremkommer fejlen.
Problem ser ud som om at hvis jeg bruger me.requery på knappen, så er det ikke den rette tabel der bliver opdateret, kunne man skrive noget i retning af tbl.sager_generelt.requery??????
Hej Hubs, har prøvet bare at lukke den oprindelige form og så manuelt åbne der, hvor den nye record er oprettet og hvis jeg gør det lige med det samme er posten der ikke men venter jeg ca. 3 sekunder er den der. Kan man sætte noget timer på???????
Er det ikke muligt at lave en pop som brugeren ser i 3 sekunder og som selv forsvinder, nu virker alt. Hubs, selv den første kode jeg sendte dig virker nu, med drekte kald jeg skulle sgu bare vente i 3 sekunder hold da kæft hvor latterligt.
Okay, men så får Mugs da bare lidt for ulejligheden c",)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.