home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / vb_code1 / mdi_demo / author.frm next >
Text File  |  1994-04-07  |  7KB  |  289 lines

  1. VERSION 2.00
  2. Begin Form Authors 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "Authors"
  5.    ClientHeight    =   1245
  6.    ClientLeft      =   2790
  7.    ClientTop       =   4080
  8.    ClientWidth     =   3990
  9.    Height          =   1935
  10.    Icon            =   AUTHOR.FRX:0000
  11.    Left            =   2730
  12.    LinkTopic       =   "Form1"
  13.    MDIChild        =   -1  'True
  14.    ScaleHeight     =   1245
  15.    ScaleWidth      =   3990
  16.    Top             =   3450
  17.    Width           =   4110
  18.    Begin TextBox AuthName 
  19.       DataField       =   "Author"
  20.       DataSource      =   "Data1"
  21.       Height          =   285
  22.       Left            =   135
  23.       MaxLength       =   40
  24.       TabIndex        =   0
  25.       Top             =   315
  26.       Width           =   3615
  27.    End
  28.    Begin Data Data1 
  29.       Caption         =   "Data1"
  30.       Connect         =   ""
  31.       DatabaseName    =   ""
  32.       Exclusive       =   0   'False
  33.       Height          =   285
  34.       Left            =   2610
  35.       Options         =   0
  36.       ReadOnly        =   0   'False
  37.       RecordSource    =   "Authors"
  38.       Top             =   720
  39.       Width           =   1140
  40.    End
  41.    Begin Label FormCommand 
  42.       Caption         =   "FormCommand"
  43.       Height          =   240
  44.       Left            =   1440
  45.       TabIndex        =   2
  46.       Top             =   765
  47.       Visible         =   0   'False
  48.       Width           =   1185
  49.    End
  50.    Begin Label Label1 
  51.       BackStyle       =   0  'Transparent
  52.       Caption         =   "Name"
  53.       Height          =   240
  54.       Index           =   0
  55.       Left            =   135
  56.       TabIndex        =   1
  57.       Top             =   135
  58.       Width           =   1005
  59.    End
  60.    Begin Menu FileMenu 
  61.       Caption         =   "&File"
  62.       Begin Menu OpenMenu 
  63.          Caption         =   "&Open"
  64.       End
  65.       Begin Menu SaveMenu 
  66.          Caption         =   "&Save"
  67.       End
  68.       Begin Menu NewMenu 
  69.          Caption         =   "&New"
  70.       End
  71.       Begin Menu CloseMenu 
  72.          Caption         =   "&Close"
  73.       End
  74.       Begin Menu sep 
  75.          Caption         =   "-"
  76.       End
  77.       Begin Menu ExitMenu 
  78.          Caption         =   "E&xit"
  79.       End
  80.    End
  81.    Begin Menu EditMenu 
  82.       Caption         =   "&Edit"
  83.       Begin Menu RestoreMenu 
  84.          Caption         =   "&Restore"
  85.       End
  86.       Begin Menu DeleteMenu 
  87.          Caption         =   "&Delete"
  88.       End
  89.    End
  90.    Begin Menu WindowMenu 
  91.       Caption         =   "&Window"
  92.       WindowList      =   -1  'True
  93.       Begin Menu WindowTileMenu 
  94.          Caption         =   "&Tile"
  95.       End
  96.       Begin Menu WindowCascadeMenu 
  97.          Caption         =   "&Cascade"
  98.       End
  99.       Begin Menu WindowArrangeIconsMenu 
  100.          Caption         =   "&Arrange Icons"
  101.       End
  102.    End
  103. End
  104. Option Explicit
  105. Option Compare Text
  106.  
  107. Const RecordType = "Author"
  108.  
  109. Function CheckData () As Integer
  110.  
  111. If AuthName = "" Then
  112.     MsgBox "Unableto save record. Author name is blank."
  113.     CheckData = False
  114. Else
  115.     CheckData = True
  116. End If
  117.  
  118. End Function
  119.  
  120. Sub CloseMenu_Click ()
  121.  
  122. Unload Me
  123.  
  124. End Sub
  125.  
  126. Sub Data1_Reposition ()
  127.  
  128. If Data1.EditMode = Data_EditAdd Then
  129.     Caption = "Adding New Author"
  130. ElseIf Data1.Recordset.BOF Or Data1.Recordset.EOF Then
  131.     Caption = "No Author Records Found"
  132. Else
  133.     Caption = "Author #" & Data1.Recordset("AU_ID")
  134. End If
  135.  
  136. End Sub
  137.  
  138. Sub Data1_Validate (Action As Integer, Save As Integer)
  139.  
  140. Select Case Action
  141.     Case Data_ActionDelete
  142.         ' this is due to a delete command
  143.         ' calling routine should confirm deletion
  144.      Case Data_ActionUpdate
  145.         ' make sure data is valid
  146.         If CheckData() Then
  147.             Save = True
  148.         Else
  149.             Action = Data_ActionCancel
  150.             Save = False
  151.         End If
  152.      Case Else
  153.         If Save Then
  154.             ' this is due to an implicit save command
  155.             ' make sure they actually want to save it
  156.             If MainMdi.WindowState = Minimized Then MainMdi.WindowState = Normal
  157.             If Me.WindowState = Minimized Then Me.WindowState = Normal
  158.             Me.Show
  159.             Select Case MsgBox("Do you want to save the changes to this " & RecordType & "?", MB_YesNoCancel)
  160.                 Case IDYes
  161.                     ' they want to save it
  162.                     ' make sure data is valid
  163.                     If Not CheckData() Then
  164.                         Action = Data_ActionCancel
  165.                         Save = False
  166.                     End If
  167.                 Case IDNo
  168.                     Save = False
  169.                 Case Else
  170.                     Save = False
  171.                     Action = Data_ActionCancel
  172.             End Select
  173.         End If
  174. End Select
  175.  
  176. If Save Then
  177.     On Error GoTo ValidateError
  178.     ' perform the save manually
  179.     Save = False
  180.     Data1.UpdateRecord
  181.     Data1.Recordset.Bookmark = Data1.Recordset.LastModified
  182.     SendAll "Refresh Author"
  183. End If
  184.  
  185. Exit Sub
  186.  
  187. ValidateError:
  188.     DataError Err, Error$
  189.     Action = Data_ActionCancel
  190.     Exit Sub
  191.  
  192. End Sub
  193.  
  194. Sub DeleteMenu_Click ()
  195.  
  196. On Error GoTo DeleteError
  197.  
  198. If MsgBox("Are you sure that you want to delete this " & LCase$(RecordType) & "?", MB_YesNo + MB_DefButton2) = IDYes Then
  199.     Data1.Recordset.Delete
  200.     Data1.Refresh
  201. End If
  202.  
  203. Exit Sub
  204.  
  205. DeleteError:
  206.     DataError Err, Error$
  207.     Exit Sub
  208.  
  209. End Sub
  210.  
  211. Sub ExitMenu_Click ()
  212.  
  213. Unload MainMdi
  214.  
  215. End Sub
  216.  
  217. Sub Form_Load ()
  218.  
  219. Height = 1935
  220. Width = 4110
  221.  
  222. Data1.DatabaseName = gDatabaseName
  223. Data1.Refresh
  224.  
  225. End Sub
  226.  
  227. Sub FormCommand_Change ()
  228. Dim Cmd As String, Parameter As String
  229. Dim i As Integer
  230.  
  231. If FormCommand = "" Then Exit Sub
  232.  
  233. Cmd = Trim$(FormCommand) & " "
  234. i = InStr(Cmd, " ")
  235. Parameter = Trim$(Mid$(Cmd, i + 1))
  236. Cmd = Left$(Cmd, i - 1)
  237.  
  238. Select Case Cmd
  239.     Case "FindFirst"
  240.         Data1.Recordset.FindFirst Parameter
  241. End Select
  242.  
  243. FormCommand = ""
  244.  
  245. End Sub
  246.  
  247. Sub NewMenu_Click ()
  248.  
  249. Data1.Recordset.AddNew
  250.  
  251. End Sub
  252.  
  253. Sub OpenMenu_Click ()
  254.  
  255. OpenDialog.Show 1
  256.  
  257. End Sub
  258.  
  259. Sub RestoreMenu_Click ()
  260.  
  261. Data1.UpdateControls
  262.  
  263. End Sub
  264.  
  265. Sub SaveMenu_Click ()
  266.  
  267. Data1.Recordset.Update
  268.  
  269. End Sub
  270.  
  271. Sub WindowArrangeIconsMenu_Click ()
  272.  
  273. MainMdi.Arrange Arrange_Icons
  274.  
  275. End Sub
  276.  
  277. Sub WindowCascadeMenu_Click ()
  278.  
  279. MainMdi.Arrange Cascade
  280.  
  281. End Sub
  282.  
  283. Sub WindowTileMenu_Click ()
  284.  
  285. MainMdi.Arrange Tile_Horizontal
  286.  
  287. End Sub
  288.  
  289.