Subject: works
Posted By: bryan.lugo Post Date: 4/19/2006 2:47:28 PM
First - thanks!!!  I'm just learning VBA and you've been a great help.

K, i've got it working using parts of the code you posted.  I already had figured out the "name" situation so i left that part of your code out.  Now my problem is getting the validation parts to work properly.  In the form, i've got different fields that are numeric only, fields that are alpha-numeric and some that are alpha only.  How do i get the code to check the data before the output.  Here's my current coding on the form itself:

Option Explicit
Option Base 1
Private Data() As Variant
Private RangeData As range
Private Number As Integer
Private Text As String



Public Cancelled As Boolean


Private Sub cmdNewExp_Click()
   
  
End Sub
Private Sub cmdClear_Click()
  Cancelled = True
  Me.Hide
End Sub


Private Sub ExpForm_Initialize()

End Sub

Private Sub cmdSubmit_Click()
  Cancelled = False
  SaveRecord
End Sub


Private Sub ExpForm_QueryClose(Cancel As Integer, _
  CloseMode As Integer)

  If (CloseMode = vbFormControlMenu) Then
    Cancel = True
    Beep
  End If
End Sub



Private Sub SaveRecord()
'Add new record at bottom of database
  Dim RowCount As Integer
  Dim stock_num As String
  Dim Af_noun_tx As String
  
  
      
    
range("expenditures").Select
  With range("expenditures")
    'Add extra row to name Database
    RowCount = .Rows.Count + 1
    .Resize(RowCount).Name = "expenditures"
    Set RangeData = .Rows(RowCount)
    
  End With
ReDim Data(1 To 1, 1 To 8)

   'Copy values from ExpenditureForm controls to Data array
        Data(1, 1) = txtSEQ.Value
        Data(1, 2) = cboOrgShp.Value
        Data(1, 3) = txtNsn.Value
        'Data(1, 4) = Application.WorksheetFunction.VLookup(Data(1, 3), Range("STOCK_NOUN_CROSSREF"), 2, False)
        Data(1, 5) = txtDoc.Value
        Data(1, 6) = txtLot.Value
        Data(1, 7) = txtQty.Value
        Data(1, 8) = txtCatCode.Value
    
      
   'Assign Data array values to current record in Database
   RangeData.Value = Data

Call Unload(ExpForm)

End Sub

Sub ValidStock()
Dim oValid As Validation
Set oValid = Selection.Validation
With oValid
    .Delete
    .Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="1", Formula2:="9999999999999"
    .ShowInput = False
    .ShowError = True
    .ErrorTitle = "error"
    .ErrorMessage = "Please enter a valid Number"
End With

End Sub

Red items are numeric only, green items are alpha numeric, blue items are alpha only.  The underlined item HAS to be 13-15 characters and the bold item HAS to be 14 characters.  I don't know where to put the CALL function for the validation check.  And, I'm pretty sure it won't do everything I need it to.  I may have to have several different validation checks inside nested loops.  Finally, the DATA (1, 4) line doesn't work.  I get an error stating "unable to get the vlookup property of the worksheetfunction class".  This whole project has turned out to be way over my head.  I greatly appreciate the help.

Go to topic 43138

Return to index page 310
Return to index page 309
Return to index page 308
Return to index page 307
Return to index page 306
Return to index page 305
Return to index page 304
Return to index page 303
Return to index page 302
Return to index page 301