home *** CD-ROM | disk | FTP | other *** search
- // AddTbDlg.h : header file
- //
- // This is a part of the Microsoft Foundation Classes C++ library.
- // Copyright (C) 1992-1998 Microsoft Corporation
- // All rights reserved.
- //
- // This source code is only intended as a supplement to the
- // Microsoft Foundation Classes Reference and related
- // electronic documentation provided with the library.
- // See these sources for detailed information regarding the
- // Microsoft Foundation Classes product.
-
- // maximum number of types of fields
- #define MAX_TYPES 12
-
- /////////////////////////////////////////////////////////////////////////////
- // CDlgAddTable dialog
-
- class CDlgAddTable : public CDialog
- {
- // Construction
- public:
- void setTypeDependentStatesAndExisting(int theType, BOOL bExistingField);
- int m_nFieldIndex;
- BOOL m_bCheckDDV; // if TRUE, execute DDV checks in DoDataExchange
- BOOL m_bFirstFieldAdded; // TRUE after first field added to tabledef
- int m_nTypeMap[MAX_TYPES]; // combobox list to actual type constants
- CDaoTableDef * m_pTableDef; // points to the tabledef used to create table
- CDaoDatabase * m_pDatabase; // incoming database pointer on which to base tabledef
-
- CDlgAddTable(CWnd* pParent = NULL); // standard constructor
- // constructor that takes a database pointer--the one we really use
- CDlgAddTable(CDaoDatabase *pDatabase, CString strTableName, CWnd * pParent = NULL);
- // check if a type selection was made
- void DDV_NoSel(CDataExchange* pDX, CComboBox *theControl);
- // initialize all the dialog data, other members
- void initializer();
- // initialize the field info (ordinal position is conditional)
- void fieldInitializer(BOOL bInitOrdPos = TRUE);
- // create new field in table with error checks for duplicates/failure
- BOOL CreateNewField();
- // create new tabledef with error checks for duplicates/failure
- BOOL CreateNewTableDef();
-
- // this enum corresponds to order of strings in type combobox
- enum theTypes { Boolean, Byte, Currency, Date, Double, Long,
- LongBinary, Memo, Short, Single, Text };
-
- // Dialog Data
- // controls on the dialog and data they transfer from/to
- //{{AFX_DATA(CDlgAddTable)
- enum { IDD = IDD_ADD_TABLE_DLG };
- CEdit m_ValidationTextControl;
- CEdit m_ValidationRuleControl;
- CButton m_RequireControl;
- CEdit m_OrdinalPositionControl;
- CEdit m_TableNameControl;
- CEdit m_NameControl;
- CEdit m_SizeControl;
- CEdit m_DefaultValueControl;
- CButton m_AutoIncrFieldControl;
- CButton m_FieldVariabilityControl;
- CComboBox m_TypeControl;
- CString m_strTableName;
- CDaoFieldInfo m_FI;
- int m_FieldVariability;
- BOOL m_bAutoIncrField;
- CString m_strValidationRule;
- CString m_strValidationText;
- //}}AFX_DATA
-
-
- // Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CDlgAddTable)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- //}}AFX_VIRTUAL
-
- // Implementation
- protected:
-
- // Generated message map functions
- //{{AFX_MSG(CDlgAddTable)
- virtual BOOL OnInitDialog();
- afx_msg void OnNextField(); // user selected to add a field or move to next
- afx_msg void OnSelendokType(); // user selected a type for the field
- afx_msg void OnDone(); // user done adding fields, ready to append tabledef
- afx_msg void OnClose(); // user cancelled out of creating a table
- afx_msg void OnPreviousField();
- afx_msg void OnDeleteField();
- afx_msg void OnAddField();
- afx_msg void OnCloseupType();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- };
-