home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / vb_code1 / mdi_demo / titles.frm < prev    next >
Text File  |  1994-04-07  |  10KB  |  405 lines

  1. VERSION 2.00
  2. Begin Form Titles 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "Titles"
  5.    ClientHeight    =   1350
  6.    ClientLeft      =   1935
  7.    ClientTop       =   3705
  8.    ClientWidth     =   5265
  9.    Height          =   2040
  10.    Icon            =   TITLES.FRX:0000
  11.    Left            =   1875
  12.    LinkTopic       =   "Form2"
  13.    MDIChild        =   -1  'True
  14.    ScaleHeight     =   1350
  15.    ScaleWidth      =   5265
  16.    Top             =   3075
  17.    Width           =   5385
  18.    Begin Data PublishData 
  19.       Caption         =   "Data2"
  20.       Connect         =   ""
  21.       DatabaseName    =   ""
  22.       Exclusive       =   0   'False
  23.       Height          =   270
  24.       Left            =   1665
  25.       Options         =   0
  26.       ReadOnly        =   0   'False
  27.       RecordSource    =   "Publishers"
  28.       Top             =   1170
  29.       Visible         =   0   'False
  30.       Width           =   1140
  31.    End
  32.    Begin SSDataCombo Publisher 
  33.       Prop110         =   TITLES.FRX:0302
  34.       AllowInput      =   0   'False
  35.       BevelOuter      =   0  'None
  36.       DataField       =   "PubID"
  37.       DataSource      =   "Data1"
  38.       DataSourceList  =   "PublishData"
  39.       Height          =   300
  40.       Left            =   1665
  41.       RowHeight       =   150
  42.       TabIndex        =   4
  43.       Text            =   "SSDataCombo1"
  44.       Top             =   855
  45.       Width           =   1275
  46.    End
  47.    Begin Data AuthorData 
  48.       Caption         =   "Data2"
  49.       Connect         =   ""
  50.       DatabaseName    =   ""
  51.       Exclusive       =   0   'False
  52.       Height          =   270
  53.       Left            =   135
  54.       Options         =   0
  55.       ReadOnly        =   0   'False
  56.       RecordSource    =   "Authors"
  57.       Top             =   1170
  58.       Visible         =   0   'False
  59.       Width           =   1140
  60.    End
  61.    Begin SSDataCombo Author 
  62.       Prop110         =   TITLES.FRX:0389
  63.       AllowInput      =   0   'False
  64.       BevelOuter      =   0  'None
  65.       DataField       =   "Au_ID"
  66.       DataSource      =   "Data1"
  67.       DataSourceList  =   "AuthorData"
  68.       Height          =   300
  69.       Left            =   135
  70.       RowHeight       =   150
  71.       TabIndex        =   0
  72.       Text            =   "SSDataCombo1"
  73.       Top             =   855
  74.       Width           =   1275
  75.    End
  76.    Begin TextBox Title 
  77.       DataField       =   "Title"
  78.       DataSource      =   "Data1"
  79.       Height          =   285
  80.       Left            =   135
  81.       TabIndex        =   1
  82.       Top             =   315
  83.       Width           =   4920
  84.    End
  85.    Begin Data Data1 
  86.       Caption         =   "Data1"
  87.       Connect         =   ""
  88.       DatabaseName    =   ""
  89.       Exclusive       =   0   'False
  90.       Height          =   285
  91.       Left            =   3555
  92.       Options         =   0
  93.       ReadOnly        =   0   'False
  94.       RecordSource    =   "Titles"
  95.       Top             =   855
  96.       Width           =   1140
  97.    End
  98.    Begin Label FormCommand 
  99.       Caption         =   "FormCommand"
  100.       Height          =   240
  101.       Left            =   3555
  102.       TabIndex        =   6
  103.       Top             =   1080
  104.       Visible         =   0   'False
  105.       Width           =   1185
  106.    End
  107.    Begin Label PubLabel 
  108.       BackStyle       =   0  'Transparent
  109.       Caption         =   "Publisher ID"
  110.       Height          =   195
  111.       Left            =   1665
  112.       TabIndex        =   5
  113.       Top             =   675
  114.       Width           =   1680
  115.    End
  116.    Begin Label AuthorLabel 
  117.       BackStyle       =   0  'Transparent
  118.       Caption         =   "Author ID"
  119.       Height          =   195
  120.       Left            =   135
  121.       TabIndex        =   2
  122.       Top             =   675
  123.       Width           =   1680
  124.    End
  125.    Begin Label Label1 
  126.       BackStyle       =   0  'Transparent
  127.       Caption         =   "Title"
  128.       Height          =   195
  129.       Index           =   0
  130.       Left            =   135
  131.       TabIndex        =   3
  132.       Top             =   135
  133.       Width           =   555
  134.    End
  135.    Begin Menu FileMenu 
  136.       Caption         =   "&File"
  137.       Begin Menu OpenMenu 
  138.          Caption         =   "&Open"
  139.       End
  140.       Begin Menu SaveMenu 
  141.          Caption         =   "&Save"
  142.       End
  143.       Begin Menu NewMenu 
  144.          Caption         =   "&New"
  145.       End
  146.       Begin Menu CloseMenu 
  147.          Caption         =   "&Close"
  148.       End
  149.       Begin Menu sep 
  150.          Caption         =   "-"
  151.       End
  152.       Begin Menu ExitMenu 
  153.          Caption         =   "E&xit"
  154.       End
  155.    End
  156.    Begin Menu EditMenu 
  157.       Caption         =   "&Edit"
  158.       Begin Menu RestoreMenu 
  159.          Caption         =   "&Restore"
  160.       End
  161.       Begin Menu DeleteMenu 
  162.          Caption         =   "&Delete"
  163.       End
  164.    End
  165.    Begin Menu WindowMenu 
  166.       Caption         =   "&Window"
  167.       WindowList      =   -1  'True
  168.       Begin Menu WindowTileMenu 
  169.          Caption         =   "&Tile"
  170.       End
  171.       Begin Menu WindowCascadeMenu 
  172.          Caption         =   "&Cascade"
  173.       End
  174.       Begin Menu WindowArrangeIconsMenu 
  175.          Caption         =   "&Arrange Icons"
  176.       End
  177.    End
  178. End
  179. Option Explicit
  180. Option Compare Text
  181.  
  182. Sub AuthorLabel_Click ()
  183.  
  184. If Val(Author) > 0 Then
  185.     ' we have a valid author to dsiplay
  186.     NewForm "Authors", "FindFirst Au_ID = " & Author
  187. Else
  188.     ' just show the author form
  189.     NewForm "Authors", ""
  190. End If
  191.     
  192. End Sub
  193.  
  194. Function CheckData () As Integer
  195.  
  196. If Author = "" Then
  197.     MsgBox "Unable to save record. Author is blank"
  198.     Exit Function
  199. End If
  200.  
  201. CheckData = True
  202.  
  203. End Function
  204.  
  205. Sub CloseMenu_Click ()
  206.  
  207. Unload Me
  208.  
  209. End Sub
  210.  
  211. Sub Data1_Error (DataErr As Integer, Response As Integer)
  212.  
  213. DataError DataErr, Error$(DataErr)
  214.  
  215. End Sub
  216.  
  217. Sub Data1_Reposition ()
  218. Dim sql As String
  219.  
  220. If Data1.EditMode = Data_EditAdd Then
  221.     Caption = "Adding New Title"
  222. ElseIf Data1.Recordset.BOF Or Data1.Recordset.EOF Then
  223.     Caption = "No Title Records Found"
  224. Else
  225.     Caption = "Titles"
  226. End If
  227.  
  228. End Sub
  229.  
  230. Sub Data1_Validate (Action As Integer, Save As Integer)
  231.  
  232. Select Case Action
  233.     Case Data_ActionDelete
  234.         ' this is due to a delete command
  235.         ' calling routine should confirm deletion
  236.      Case Data_ActionUpdate
  237.         ' make sure data is valid
  238.         If CheckData() Then
  239.             Save = True
  240.         Else
  241.             Action = Data_ActionCancel
  242.             Save = False
  243.         End If
  244.      Case Else
  245.         If Save Then
  246.             ' this is due to an implicit save command
  247.             ' make sure they actually want to save it
  248.             If MainMdi.WindowState = Minimized Then MainMdi.WindowState = Normal
  249.             If Me.WindowState = Minimized Then Me.WindowState = Normal
  250.             Me.Show
  251.             Select Case MsgBox("Do you want to save the changes to this Title?", MB_YesNoCancel)
  252.                 Case IDYes
  253.                     ' they want to save it
  254.                     ' make sure data is valid
  255.                     If Not CheckData() Then
  256.                         Action = Data_ActionCancel
  257.                         Save = False
  258.                     End If
  259.                 Case IDNo
  260.                     Save = False
  261.                 Case Else
  262.                     Save = False
  263.                     Action = Data_ActionCancel
  264.             End Select
  265.         End If
  266. End Select
  267.  
  268. End Sub
  269.  
  270. Sub DeleteMenu_Click ()
  271.  
  272. On Error GoTo DeleteError
  273.  
  274. If MsgBox("Are you sure that you want to delete this Title?", MB_YesNo + MB_DefButton2) = IDYes Then
  275.     Data1.Recordset.Delete
  276.     Data1.Refresh
  277. End If
  278.  
  279. Exit Sub
  280.  
  281. DeleteError:
  282.     DataError Err, Error$
  283.     Exit Sub
  284.  
  285. End Sub
  286.  
  287. Sub ExitMenu_Click ()
  288.  
  289. Unload MainMdi
  290.  
  291. End Sub
  292.  
  293. Sub Form_Load ()
  294.  
  295. ' Height and Width are set at run time because
  296. ' MDI child forms have their default sizes set by system
  297. Height = 2040
  298. Width = 5385
  299.  
  300. Data1.DatabaseName = gDatabaseName
  301. Data1.Refresh
  302.  
  303. AuthorData.DatabaseName = gDatabaseName
  304. AuthorData.Refresh
  305.  
  306. PublishData.DatabaseName = gDatabaseName
  307. PublishData.Refresh
  308.  
  309. End Sub
  310.  
  311. Sub FormCommand_Change ()
  312. Dim Cmd As String, Parameter As String
  313. Dim i As Integer
  314.  
  315. If FormCommand = "" Then Exit Sub
  316.  
  317. Cmd = Trim$(FormCommand) & " "
  318. i = InStr(Cmd, " ")
  319. Parameter = Trim$(Mid$(Cmd, i + 1))
  320. Cmd = Left$(Cmd, i - 1)
  321.  
  322. Select Case Cmd
  323.     Case "Refresh"
  324.         Select Case Parameter
  325.             Case Author: AuthorData.Refresh
  326.             Case Publisher: PublishData.Refresh
  327.         End Select
  328. End Select
  329.  
  330. FormCommand = ""
  331.  
  332. End Sub
  333.  
  334. Sub NewMenu_Click ()
  335.  
  336. Data1.Recordset.AddNew
  337.  
  338. End Sub
  339.  
  340. Sub OpenMenu_Click ()
  341.  
  342. OpenDialog.Show 1
  343.  
  344. End Sub
  345.  
  346. Sub PubLabel_Click ()
  347.  
  348. If Val(Publisher) > 0 Then
  349.     ' we have a valid author to dsiplay
  350.     NewForm "Publishers", "FindFirst PubID = " & Publisher
  351. Else
  352.     ' just show the author form
  353.     NewForm "Publishers", ""
  354. End If
  355.     
  356. End Sub
  357.  
  358. Sub RestoreMenu_Click ()
  359.  
  360. Data1.UpdateControls
  361.  
  362. End Sub
  363.  
  364. Sub SaveMenu_Click ()
  365.  
  366. On Error GoTo SaveMenuError
  367.  
  368. If CheckData() Then
  369.     Data1.UpdateRecord
  370.     ' the following line is neccessary because when
  371.     ' a new record is saved the first record becomes
  372.     ' the current record, not the new record
  373.     Data1.Recordset.Bookmark = Data1.Recordset.LastModified
  374. End If
  375.  
  376. Exit Sub
  377.  
  378. SaveMenuError:
  379.     Select Case Err
  380.         Case Else
  381.             DataError Err, Error$
  382.     End Select
  383.     Exit Sub
  384.  
  385. End Sub
  386.  
  387. Sub WindowArrangeIconsMenu_Click ()
  388.  
  389. MainMdi.Arrange Arrange_Icons
  390.  
  391. End Sub
  392.  
  393. Sub WindowCascadeMenu_Click ()
  394.  
  395. MainMdi.Arrange Cascade
  396.  
  397. End Sub
  398.  
  399. Sub WindowTileMenu_Click ()
  400.  
  401. MainMdi.Arrange Tile_Horizontal
  402.  
  403. End Sub
  404.  
  405.