You could work with a parameter and only change the parameter in the URL of the report. Parameters have to be submitted with @ as initial character. For example:
Select Top 1000000 tblSoftwareUni.softwareName,
Case When Coalesce(tNotInstalled.AssetID, 0) = 0 Then 'not installed'
Else 'installed' End As [installed on new computer]
From tblSoftware
Inner Join tblSoftwareUni On tblSoftware.softID = tblSoftwareUni.SoftID
Inner Join tblAssets On tblAssets.AssetID = tblSoftware.AssetID
Left Join (Select tblAssets.AssetID,
tblSoftwareUni.SoftID
From tblSoftwareUni,
tblAssets
Inner Join tblComputersystem
On tblAssets.AssetID = tblComputersystem.AssetID
Where tblAssets.AssetName = @newPC And
Not Exists(Select tblSoftware.softID,
tblSoftware.AssetID From tblSoftware
Where tblSoftware.softID = tblSoftwareUni.SoftID And tblSoftware.AssetID =
tblAssets.AssetID)) tNotInstalled On tNotInstalled.SoftID =
tblSoftware.softID
Where tblAssets.AssetName = @oldPC
Order By tblSoftwareUni.softwareName,
tblAssets.AssetName
When you save this report, you get an error message. But now you can go to the address bar of your browser and at the end of the report's URL add the following:
&@oldPC=HostnameA&@newPC=HostnameB
That will list the report with computer "HostnameA" as oldPC and computer "HostnameB" as newPC.