summaryrefslogtreecommitdiff
path: root/sc/inc/dociter.hxx
diff options
context:
space:
mode:
authorKohei Yoshida <kyoshida@novell.com>2009-09-16 01:07:24 -0400
committerKohei Yoshida <kyoshida@novell.com>2009-09-16 01:07:24 -0400
commit174c3c8921e6b7670e9be665c33a35e48fce690c (patch)
tree54782de8ba782c32b84ec721a93c8a61ecd7fe5f /sc/inc/dociter.hxx
parent273d64160792ffa17bfa2e13f305edba5d5e76c5 (diff)
#i102750# fixed DCOUNT and DCOUNT2.
Diffstat (limited to 'sc/inc/dociter.hxx')
-rw-r--r--sc/inc/dociter.hxx14
1 files changed, 10 insertions, 4 deletions
diff --git a/sc/inc/dociter.hxx b/sc/inc/dociter.hxx
index 1004c7cbd..14a4e8461 100644
--- a/sc/inc/dociter.hxx
+++ b/sc/inc/dociter.hxx
@@ -138,17 +138,19 @@ private:
class DataAccess
{
public:
- DataAccess();
+ DataAccess(const ScDBQueryValueIterator* pParent);
virtual ~DataAccess() = 0;
virtual bool getCurrent(double& rValue, USHORT& rErr) = 0;
virtual bool getFirst(double& rValue, USHORT& rErr) = 0;
virtual bool getNext(double& rValue, USHORT& rErr) = 0;
+ protected:
+ const ScDBQueryValueIterator* mpParent;
};
class DataAccessInternal : public DataAccess
{
public:
- DataAccessInternal(const ScDBQueryParamInternal* pParam, ScDocument* pDoc);
+ DataAccessInternal(const ScDBQueryValueIterator* pParent, const ScDBQueryParamInternal* pParam, ScDocument* pDoc);
virtual ~DataAccessInternal();
virtual bool getCurrent(double &rValue, USHORT &rErr);
virtual bool getFirst(double &rValue, USHORT &rErr);
@@ -172,7 +174,7 @@ private:
class DataAccessMatrix : public DataAccess
{
public:
- DataAccessMatrix(const ScDBQueryParamMatrix* pParam);
+ DataAccessMatrix(const ScDBQueryValueIterator* pParent, const ScDBQueryParamMatrix* pParam);
virtual ~DataAccessMatrix();
virtual bool getCurrent(double &rValue, USHORT &rErr);
virtual bool getFirst(double &rValue, USHORT &rErr);
@@ -188,7 +190,9 @@ private:
};
::std::auto_ptr<ScDBQueryParamBase> mpParam;
- ::std::auto_ptr<DataAccess> mpData;
+ ::std::auto_ptr<DataAccess> mpData;
+
+ bool mbCountString;
bool GetThis(double& rValue, USHORT& rErr);
public:
@@ -197,6 +201,8 @@ public:
BOOL GetFirst(double& rValue, USHORT& rErr);
/// Does NOT reset rValue if no value found!
BOOL GetNext(double& rValue, USHORT& rErr);
+
+ void SetCountString(bool b);
};
// ============================================================================