David McAfee
DMcAfee at haascnc.com
Mon Jan 19 20:39:51 CST 2004
put SET NOCOUNT OFF before your final select (after your note) which will return the data to Access. HTH David McAfee -----Original Message----- From: dba-sqlserver-bounces at databaseadvisors.com [mailto:dba-sqlserver-bounces at databaseadvisors.com]On Behalf Of David Emerson Sent: Monday, January 19, 2004 5:43 PM To: dba-SQLServer at databaseadvisors.com Subject: [dba-SQLServer]Sproc not returning records AXP, SQL2000 I have a sproc that calls a number of other sprocs to fill in a table. Then it uses this table to retrieve records. If I run it (by pressing the ! button in Access) then the table is filled in, but the grid that shows the retrieved records has two column headings Expr<1> and Expr<2> (three are expected with proper names). There are the correct number of records but all the rows are blank. If however I run the code to fill in the table first. Then when that has stopped run the code for retrieving the records I get a grid showing the correct column names and data. My next attempt was to have a second sproc that executes the first one (without the final select statement), then runs the select statement. This had the same effect as if it was one sproc. Does anyone have an idea why this is happening? The code is below. Regards David Emerson Dalyn Software Ltd 25 Cunliffe St, Churton Park Wellington, New Zealand Ph/Fax (877) 456-1205 ALTER PROCEDURE spSalesTransactLoadSummary ( @dtmDate1 varchar(20), @intDate2 int ) AS SET NOCOUNT ON DELETE FROM dbo.ttmpLoadAllocateRpt DECLARE @intyyyymm int, @charDate varchar(10) WHILE (YEAR(@dtmDate1) * 100 + MONTH(@dtmDate1)) <= @intDate2 BEGIN SET @intyyyymm = YEAR(@dtmDate1) * 100 + MONTH(@dtmDate1) SET @charDate = CONVERT(nvarchar(20), DATEPART(mm, @dtmDate1)) + '/' + CONVERT(nvarchar(20), DATEPART(dd, @dtmDate1)) + '/' + CONVERT(nvarchar(20),DATEPART(yy, @dtmDate1)) EXEC dbo.spLoadAllocat4 @intyyyymm EXEC dbo.spLoadAllocat6 @intyyyymm, @charDate EXEC dbo.spLoadAllocatOther @intyyyymm SET @dtmDate1 = DATEADD(Month, 1, @dtmDate1) END --Note - up to here works fine. Next statement not work if run at same time as above. SELECT tblNetOwners.NetOwnerName, ttmpLoadAllocateRpt.YrMth, SUM(ttmpLoadAllocateRpt.GJ) as GJSum FROM tblNetOwners INNER JOIN (tblCustomers INNER JOIN (tblGateStations INNER JOIN ttmpLoadAllocateRpt ON tblGateStations.GateID = ttmpLoadAllocateRpt.GateIDNo) ON tblCustomers.CustomerID = ttmpLoadAllocateRpt.CustomerID) ON tblNetOwners.NetOwnerID = tblGateStations.NetOwnIDNo GROUP BY tblNetOwners.NetOwnerName, ttmpLoadAllocateRpt.YrMth ORDER BY tblNetOwners.NetOwnerName, ttmpLoadAllocateRpt.YrMth If @@Error <> 0 Begin Select 'Unexpected error occurred: ', @@Error Return @@Error End else return 0 _______________________________________________ dba-SQLServer mailing list dba-SQLServer at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-sqlserver http://www.databaseadvisors.com