Can anyone explain to me why my function loops through 4 times when I expect it to only run through once?
The end goal is to copy a record and assign a new equipment number during the process.
My button click code:
The query that is being opened:
Within that query, "CopyEq() AS NewNum" initiates a module:
The overall process works and successfully creates a copied record with a new equipment number, but in doing so, it cycles through the function input box several times.
The end goal is to copy a record and assign a new equipment number during the process.
My button click code:
Code:
Public Sub btnCopyRecord_Click() If Not Me.NewRecord Then DoCmd.OpenQuery "Copy Equipment" DoCmd.RunCommand acCmdCloseWindow DoCmd.OpenForm "Equipment", , , "EquipNumber='" & CopyEq & "'", acFormEdit Else Beep End If End Sub
Code:
INSERT INTO Equipment ( EquipNumber, [Desc], AddInfo, AdgndTo, Model, EqYear, Specifications, SerialNum, Dept, Class, Type, OperationalCode, OwnershipCode, UtDHour, UtDMiles, UtDMeter, LicenseNum, LicenseExp, DateAssigned, StatusCode, StatusDate, InternalLocWare, VendorNum, UDCBudHours, UDCHourAtAcq, UDCPrevEqID, UDCAppTradeValue, UDCTradedEqNum, JobNum, SubJobNum, CostDist, CostType, ChargeStartDate, AcqDate, AcqMarketValue, AcqAmount, AcqRent, [Rate Type], RateJob, RateSubJob, RateLabor, RateParts, RateTires, RateRent, RateGET, RateFuel, RateOverhead, RateOwnership, RateSupport, [User], EnteredDate, Exported ) SELECT [B]CopyEq() AS NewNum[/B], Equipment.Desc, Equipment.AddInfo, Equipment.AdgndTo, Equipment.Model, Equipment.EqYear, Equipment.Specifications, Equipment.SerialNum, Equipment.Dept, Equipment.Class, Equipment.Type, Equipment.OperationalCode, Equipment.OwnershipCode, Equipment.UtDHour, Equipment.UtDMiles, Equipment.UtDMeter, Equipment.LicenseNum, Equipment.LicenseExp, Equipment.DateAssigned, Equipment.StatusCode, Equipment.StatusDate, Equipment.InternalLocWare, Equipment.VendorNum, Equipment.UDCBudHours, Equipment.UDCHourAtAcq, Equipment.UDCPrevEqID, Equipment.UDCAppTradeValue, Equipment.UDCTradedEqNum, Equipment.JobNum, Equipment.SubJobNum, Equipment.CostDist, Equipment.CostType, Equipment.ChargeStartDate, Equipment.AcqDate, Equipment.AcqMarketValue, Equipment.AcqAmount, Equipment.AcqRent, Equipment.[Rate Type], Equipment.RateJob, Equipment.RateSubJob, Equipment.RateLabor, Equipment.RateParts, Equipment.RateTires, Equipment.RateRent, Equipment.RateGET, Equipment.RateFuel, Equipment.RateOverhead, Equipment.RateOwnership, Equipment.RateSupport, Equipment.User, Equipment.EnteredDate, Equipment.Exported FROM Equipment WHERE (((Equipment.EquipNumber)=[forms]![Equipment]![EquipNumber]));
Code:
Public Function CopyEq() As String CopyEq = InputBox("Enter new Equipment Number:", "New Equipment Number", 0) End Function
Comment