#if !defined(AFX_TABLE_H__41837F9C_E6C6_4A0E_80EA_96A50622CD4A__INCLUDED_)
#define AFX_TABLE_H__41837F9C_E6C6_4A0E_80EA_96A50622CD4A__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++

// NOTE: Do not modify the contents of this file.  If this class is regenerated by
//  Microsoft Visual C++, your modifications will be overwritten.


// Dispatch interfaces referenced by this interface
class CField;
class CCallback;

/////////////////////////////////////////////////////////////////////////////
// CTable wrapper class

class CTable : public COleDispatchDriver
{
public:
	CTable() {}		// Calls COleDispatchDriver default constructor
	CTable(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
	CTable(const CTable& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}

// Attributes
public:

// Operations
public:
	long GetNumRows();
	long GetNumFields();
	CField GetField(long FieldIndex);
	VARIANT GetCellValue(long FieldIndex, long RowIndex);
	BOOL GetEditingTable();
	long GetLastErrorCode();
	CString GetErrorMsg(long ErrorCode);
	CString GetCdlgFilter();
	CCallback GetGlobalCallback();
	void SetGlobalCallback(LPDISPATCH newValue);
	CString GetKey();
	void SetKey(LPCTSTR lpszNewValue);
	BOOL Open(LPCTSTR dbfFilename, LPDISPATCH cBack);
	BOOL CreateNew(LPCTSTR dbfFilename);
	BOOL SaveAs(LPCTSTR dbfFilename, LPDISPATCH cBack);
	BOOL Close();
	BOOL EditClear();
	BOOL EditInsertField(LPDISPATCH Field, long* FieldIndex, LPDISPATCH cBack);
	BOOL EditReplaceField(long FieldIndex, LPDISPATCH NewField, LPDISPATCH cBack);
	BOOL EditDeleteField(long FieldIndex, LPDISPATCH cBack);
	BOOL EditInsertRow(long* RowIndex);
	BOOL EditCellValue(long FieldIndex, long RowIndex, const VARIANT& newVal);
	BOOL StartEditingTable(LPDISPATCH cBack);
	BOOL StopEditingTable(BOOL ApplyChanges, LPDISPATCH cBack);
	BOOL EditDeleteRow(long RowIndex);
	BOOL Save(LPDISPATCH cBack);
	VARIANT GetMinValue(long FieldIndex);
	VARIANT GetMaxValue(long FieldIndex);
	double GetMeanValue(long FieldIndex);
	double GetStandardDeviation(long FieldIndex);
	BOOL ParseExpression(LPCTSTR Expression, BSTR* ErrorString);
	BOOL Query(LPCTSTR Expression, VARIANT* Result, BSTR* ErrorString);
	long GetFieldIndexByName(LPCTSTR Fieldname);
	BOOL TestExpression(LPCTSTR Expression, long ReturnType, BSTR* ErrorString);
	BOOL Calculate(LPCTSTR Expression, long RowIndex, VARIANT* Result, BSTR* ErrorString);
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_TABLE_H__41837F9C_E6C6_4A0E_80EA_96A50622CD4A__INCLUDED_)