Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
Author |
Topic |
osupratt
Posting Yak Master
238 Posts |
Posted - 2010-12-13 : 12:16:40
|
I have this code that I believe Alan Browne or someone had posted. I keepgetting the "Compile Error - Argument Not Optional" error message. I amprobably calling this function incorrectly, but am definately not a vb oraccess guru. I come to this site as it has helped me immensely in the past.Here is the code I pasted into one of my modules:Public Function Duplicate(ByVal strKey As String, ByVal strTable As String, _ ByVal lngID As Long) As Boolean On Error GoTo Err_Duplicate Dim db As DAO.Database Dim rs As DAO.Recordset Dim fld As DAO.Field Dim varValue As Variant Set db = CurrentDb Set rs = db.OpenRecordset(strTable) With rs .AddNew For Each fld In rs.Fields varValue = DLookup("[" & fld.Name & "]", strTable, "[" & strKey &"] = " & lngID) If Not IsNull(varValue) And fld.Name <> strKey Then fld = varValue End If Next .Update .Close End With Duplicate = TrueExit_Duplicate: Set fld = Nothing Set rs = Nothing Set db = Nothing Exit Function Err_Duplicate: Duplicate = False Resume Exit_Duplicate End FunctionA little background is that I have a subform that is basically a billing form.It has item number, billing code, qty, unit price, etc. I want to be able tocopy the existing record and paste it in the next or new record. I tried theDuplicate on the command button wizard but got the error about INSERTIDENTITY off. So I was hoping the above code will fix this issue. So I'mprobably calling the above function from the on click event of the commandbutton incorrectly:Public Sub cmdCopy_Click()Call DuplicateEnd SubAny help would be greatly appreciated as I am struggling with this. Thanks. |
|
AndrewMurphy
Master Smack Fu Yak Hacker
2916 Posts |
Posted - 2010-12-14 : 03:58:15
|
When you go "Call Duplicate"....you're not passing in or receiving out any variables.Without looking into the internals of the function, it should be "d=Duplicate(a,b,c)" where d is a boolean variable to be the return code from the function, and a,b,c are variables local to cmdCOPY (or a higher precednce procedure) by which you pass data into and get data back from the function. |
|
|
osupratt
Posting Yak Master
238 Posts |
Posted - 2010-12-14 : 10:37:02
|
Thanks Andrew for your response. After fighting with this for about a day and a half I finally realized that I didn't have my parent/child link from main form to sub-form set. After I did this the command button wizard 'duplicate record' worked. Big ole' dummy. Anyhow, thanks again. I was wondering why microsoft would have this built in function if it didn't work. |
|
|
|
|
|
|
|