HI All,
I was wondering if as an example you could help me write a SQL Function or Stored Proc to achieve the result of this access function...I Have already worked out how to create delete Stored Procs and Update Stored Procs but am unsure how to set up a function to update the rowsource "tblRelRowSrce" with related parties below. In Other words this is an access 2013 function that I would like to trigger run when a user accesses a specific form but run on sql server.
Function RelatedRowSrce() As String
On Error GoTo ErrorCom: If CDB Is Nothing Then InitGlobals
Dim TPrtIDStr As String, TRelIDStr As String, RelDetStr As String, TStr As String
Dim rsRRR As DAO.Recordset, rsChkRRR As DAO.Recordset, rsRel As DAO.Recordset, rsRelR As DAO.Recordset, rsCon As DAO.Recordset
Dim tmpStr6 As String, tmpStr5 As String, tmpStr4 As String, TOrdNo As Long, TRelID As Long, TFileAs As String
InsSQLQuery "DelUsrTblRelRowSrceRecs", sFrmFC!UsrPrtID
TOrdNo = 0: TVal = 0
TFileAs = GetTVal("FileAs", "tblParty", "ID=" & sFrmFC!PrtID)
If TFileAs <> "" Then InsSQLQuery "SP_UI_tblRelRowSrce", "Null, " & sFrmFC!UsrPrtID & ", " & sFrmFC!PrtID & ", '" & TFileAs & "', " & TOrdNo &";": TOrdNo = TOrdNo + 1
'Set rsRRR = CDB.OpenRecordset("SELECT * FROM tblRelRowSrce;", 2, 512, 3)
'rsRRR.AddNew: rsRRR!PrtID = sFrmFC!PrtID: rsRRR!FileAs = GetTVal("FileAs", "tblParty", "ID=" & rsRRR!PrtID): rsRRR!OrdNo = TOrdNo:: rsRRR.UpDate
If InStr(1, Nz(sFrmFC!Var8, ""), "CallFromMedicalFund") > 0 Then
Stop
TVal = GetTVal("I1PrtID", "tblHoldings", "ID=" & Nz(sFrm1!HldgID, 0))
If TVal <> 0 Then
Set rsChkRRR = CDB.OpenRecordset("SELECT * FROM tblRelRowSrce WHERE PrtID=" & TVal & ";", 2, 512, 3): RecInit rsChkRRR
If TRecCnt = 0 Then rsRRR.AddNew: rsRRR!PrtID = TVal: rsRRR!FileAs = GetTVal("FileAs", "tblParty", "ID=" & rsRRR!PrtID): rsRRR!OrdNo = TOrdNo: TOrdNo = TOrdNo+ 1: rsRRR.UpDate
Set rsChkRRR = Nothing
Set rsRel = CDB.OpenRecordset("SELECT PrtID, relOrder, relPrtID FROM tblRelationships WHERE (PrtID=" & TVal & ") ORDER BY relOrder, relBirthDate;", 2, 512, 3): RecInit
rsRel
Else
Set rsRel = CDB.OpenRecordset("SELECT PrtID, relOrder, relPrtID FROM tblRelationships WHERE (PrtID=" & sFrmFC!PrtID & ") ORDER BY relOrder, relBirthDate;", 2, 512,
3): RecInit rsRel
End If
Else
Set rsRel = CDB.OpenRecordset("SELECT PrtID, relOrder, relPrtID FROM tblRelationships WHERE (PrtID=" & sFrmFC!PrtID & ") ORDER BY relOrder, relBirthDate;", 2, 512, 3): RecInit rsRel
End If
Do Until rsRel.EOF
If Nz(rsRel!RelPrtID, 0) <> 0 Then
'Set rsChkRRR = CDB.OpenRecordset("SELECT * FROM tblRelRowSrce WHERE PrtID=" & rsRel!RelPrtID & ";", 2, 512, 3): RecInit rsChkRRR
TRelID = GetTVal("ID", "tblRelRowSrce", "PrtID=" & rsRel!RelPrtID)
If IsEmpty(TRelID) Or TRelID = 0 Then
TFileAs = GetTVal("FileAs", "tblParty", "ID=" & rsRel!RelPrtID)
If TFileAs <> "" Then InsSQLQuery "SP_UI_tblRelRowSrce", "Null, " & sFrmFC!UsrPrtID & ", " & rsRel!RelPrtID& ", '" & TFileAs & "', " & TOrdNo & ";": TOrdNo = TOrdNo + 1
'rsRRR.AddNew: rsRRR!PrtID = rsRel!RelPrtID: rsRRR!FileAs = GetTVal("FileAs", "tblParty", "ID=" & rsRRR!PrtID): rsRRR!OrdNo = TOrdNo:
TOrdNo = TOrdNo + 1: rsRRR.UpDate
End If
'Set rsChkRRR = Nothing
'TPrtIDStr = TPrtIDStr & IIf(InStr(1, TPrtIDStr, rsRel!RelPrtID & ";") = 0, rsRel!RelPrtID & ";", "")
If InStr(1, Nz(sFrmFC!Var8, ""), "CallFromMedicalFund") = 0 And TVal = 0 And sFrmFC!SelPrtBTp < 2 Then
Set rsRelR = CDB.OpenRecordset("SELECT PrtID, relOrder, * FROM tblRelationships WHERE (PrtID=" & rsRel!RelPrtID & " And relPrtID<>"& sFrmFC!SelPrtID & ") ORDER BY relOrder, relBirthDate;", 2, 512, 3): RecInit rsRelR
Do Until rsRelR.EOF
If Nz(rsRelR!RelPrtID, 0) <> 0 Then
TRelID = GetTVal("ID", "tblRelRowSrce", "PrtID=" & rsRelR!RelPrtID)
'Set rsChkRRR = CDB.OpenRecordset("SELECT * FROM tblRelRowSrce WHERE PrtID=" & rsRel!RelPrtID & ";",
2, 512, 3): RecInit rsChkRRR
If IsEmpty(TRelID) Or TRelID = 0 Then
TFileAs = GetTVal("FileAs", "tblParty", "ID=" & rsRelR!RelPrtID)
If TFileAs <> "" Then InsSQLQuery "SP_UI_tblRelRowSrce", "Null," & sFrmFC!UsrPrtID & ", " & rsRelR!RelPrtID & ", '" & TFileAs & "', " & (10000 + TOrdNo) & ";": TOrdNo = TOrdNo + 1
'rsRRR.AddNew: rsRRR!PrtID = rsRel!RelPrtID: rsRRR!FileAs = GetTVal("FileAs", "tblParty","ID=" & rsRRR!PrtID): rsRRR!OrdNo = 10000 + TOrdNo: TOrdNo = TOrdNo + 1: rsRRR.UpDate
End If
Set rsChkRRR = Nothing
End If
rsRelR.MoveNext
Loop
End If
End If
rsRel.MoveNext
Loop
'rsRRR.AddNew: rsRRR!PrtID = sFrmFC!UOPrtID: rsRRR!FileAs = GetTVal("FileAs", "tblParty", "ID=" & rsRRR!PrtID): rsRRR!OrdNo = TOrdNo: TOrdNo = TOrdNo + 1: rsRRR.UpDate
TRelID = GetTVal("ID", "tblRelRowSrce", "PrtID=" & sFrmFC!UOPrtID)
If IsEmpty(TRelID) Or TRelID = 0 Then
TFileAs = GetTVal("FileAs", "tblParty", "ID=" & sFrmFC!UOPrtID)
If TFileAs <> "" Then InsSQLQuery "SP_UI_tblRelRowSrce", "Null, " & sFrmFC!UsrPrtID & ", " & sFrmFC!UOPrtID & ", '" & TFileAs & "'," & TOrdNo & ";": TOrdNo = TOrdNo + 1
End If
'RelDetStr = "FileAs"
'TStr = "(INSTR(1,';" & TPrtIDStr & "',ID)>0)"
'TStr = "(ID IN (SELECT PrtID FROM tblRelRowSrce ORDER BY OrdNo;))"
Dim TRType As Long
RelatedRowSrce = "SELECT FileAs As RelatedDetail, PrtID FROM tblRelRowSrce ORDER BY OrdNo;"
ErrorCom: If ErrCon(Err.Description, Err.Number, "Setup Functions : RelatedRowSrce") Then Resume
Set rsRel = Nothing: Set rsRelR = Nothing: Set rsChkRRR = Nothing: Set rsRRR = Nothing
End Function
Rhett Cawood Insuria CRM Financial Planning Access Developer