By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,080 Members | 1,855 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,080 IT Pros & Developers. It's quick & easy.

Shareware documentation?

P: n/a
I am looking for a shareware program to document an app and I really do not
like the built-in documentation in Access.

FMS Total Access Analyzer looks great, but it's way too pricey. I have seen
things that pop up in Access and provide info on a form, but I'm looking for
something that writes to an Access table or to a spreadsheet.

I'd like to keep the cost to around $60-$80.

Any suggestions?
Nov 13 '05 #1
Share this Question
Share on Google+
10 Replies


P: n/a
Don't know the cost but look at RoboHelp.

--
PC Datasheet
Your Resource For Help With Access, Excel And Word Applications
re******@pcdatasheet.com
www.pcdatasheet.com
"Colleyville Alan" <ae***********@nospam.comcast.net> wrote in message
news:dijJc.75339$JR4.49717@attbi_s54...
I am looking for a shareware program to document an app and I really do not
like the built-in documentation in Access.

FMS Total Access Analyzer looks great, but it's way too pricey. I have seen
things that pop up in Access and provide info on a form, but I'm looking for
something that writes to an Access table or to a spreadsheet.

I'd like to keep the cost to around $60-$80.

Any suggestions?

Nov 13 '05 #2

P: n/a
RoboHelp gets good reviews from people creating _Help Files_, but assuming
you want/need the kind of detail documentation that would be comparable to
Total Access Analyzer, it just doesn't analyze and collect such information.
It also, last time I looked, costs quite a bit more than TAA.

Larry Linson

"PC Datesheet" <no****@nospam.spam> wrote in message
news:KD*****************@newsread2.news.atl.earthl ink.net...
Don't know the cost but look at RoboHelp.

--
PC Datasheet
Your Resource For Help With Access, Excel And Word Applications
re******@pcdatasheet.com
www.pcdatasheet.com
"Colleyville Alan" <ae***********@nospam.comcast.net> wrote in message
news:dijJc.75339$JR4.49717@attbi_s54...
I am looking for a shareware program to document an app and I really do not like the built-in documentation in Access.

FMS Total Access Analyzer looks great, but it's way too pricey. I have seen things that pop up in Access and provide info on a form, but I'm looking for something that writes to an Access table or to a spreadsheet.

I'd like to keep the cost to around $60-$80.

Any suggestions?


Nov 13 '05 #3

P: n/a
Basically looking for output to a table that would list the names of all
tables, the field names and types within them. Nothing fancy.
I have tried MDB Artisan and have something called "DataDict" (freeware from
http://www.cleandatasystems.com/), but these keep generating reports and I
do not want a bunch of printed stuff.

I'd like to have the stuff in a spreadsheet where I can see all of the
tables side-by-side and be able to track which fields in one table match
with fields in another table.

CA
"Larry Linson" <bo*****@localhost.not> wrote in message
news:RG******************@nwrddc03.gnilink.net...
RoboHelp gets good reviews from people creating _Help Files_, but assuming
you want/need the kind of detail documentation that would be comparable to
Total Access Analyzer, it just doesn't analyze and collect such information. It also, last time I looked, costs quite a bit more than TAA.

Larry Linson

"PC Datesheet" <no****@nospam.spam> wrote in message
news:KD*****************@newsread2.news.atl.earthl ink.net...
Don't know the cost but look at RoboHelp.

--
PC Datasheet
Your Resource For Help With Access, Excel And Word Applications
re******@pcdatasheet.com
www.pcdatasheet.com
"Colleyville Alan" <ae***********@nospam.comcast.net> wrote in message
news:dijJc.75339$JR4.49717@attbi_s54...
I am looking for a shareware program to document an app and I really
do
not like the built-in documentation in Access.

FMS Total Access Analyzer looks great, but it's way too pricey. I
have
seen things that pop up in Access and provide info on a form, but I'm
looking
for something that writes to an Access table or to a spreadsheet.

I'd like to keep the cost to around $60-$80.

Any suggestions?



Nov 13 '05 #4

P: n/a
A few comments inserted:

On Thu, 15 Jul 2004 16:45:37 GMT, Chuck Grimsby
<c.*******@worldnet.att.net.invalid> wrote:

Try this:

Sub TableFields()
Dim myDB As DAO.Database
Dim TDF As DAO.TableDef
Dim FLD As DAO.Field
Dim PRP As DAO.Property
Dim strTableName As String
Dim strFieldName As String
Dim strDescription As String
Dim strCaption As String
Dim strDefaultValue As String
Dim bolRequired As Boolean
Dim strValidationText As String
Dim strValidationRule As String
Dim strSQL As String
Dim strSQLValues As String
Const TableName As String = "TblTablesAndFields"

Set myDB = CurrentDb

strSQL = "CREATE TABLE " & TableName & " (" & _
" TableName varchar(50) NOT NULL" & _
", FieldName varchar(50) NOT NULL" & _
", FieldDescription varchar(150)" & _
", FieldCaption varchar(150)" & _
", FieldDefaultValue varchar(50)" & _
", FieldRequired Bit" & _
", FieldValidationText varchar(50)" & _
", FieldValidationRule varchar(50)" & _
")"
myDB.Execute strSQL, dbFailOnError

strSQL = "ALTER TABLE " & _
TableName & _
" ADD CONSTRAINT PrimaryKey " & _
"PRIMARY KEY " & _
"(TableName, FieldName)"

myDB.Execute strSQL, dbFailOnError

For Each TDF In myDB.TableDefs
Select Case True
Case TDF.name = TableName
GoTo NextTable
Case Left$(TDF.name, 4) = "Msys"
GoTo NextTable
Case Left$(TDF.name, 4) = "Usys"
GoTo NextTable
Case Left$(TDF.name, 1) = "~"
GoTo NextTable
End Select
strTableName = ""
strTableName = TDF.name
For Each FLD In TDF.Fields
strDescription = ""
strCaption = ""
strDefaultValue = ""
bolRequired = False
strValidationText = ""
strValidataionRule = ""
strValidationRule = ""
On Error Resume Next
strFieldName = FLD.name
For Each PRP In FLD.Properties
Select Case PRP.name
Case "Description"
strDescription = PRP.Value
Case "Caption"
strCaption = PRP.Value
Case "DefaultValue"
strDefaultValue = PRP.Value
Case "Required"
bolRequired = PRP.Value
Case "ValidationText"
strValidationText = PRP.Value
Case "ValidationRule"
strValidataionRule = PRP.Value
strValidationRule = PRP.Value
Case Else
End Select
Next
strSQL = "INSERT INTO " & TableName & "("
strSQLValues = ""
If strTableName <> "" Then
strSQL = strSQL & "TableName,"
strSQLValues = strSQLValues & "'" & _
SQLFixup(strTableName) & "',"
End If
If strFieldName <> "" Then
strSQL = strSQL & "FieldName,"
strSQLValues = strSQLValues & "'" & _
SQLFixup(strFieldName) & "',"
End If
If strDescription <> "" Then
strSQL = strSQL & "FieldDescription,"
strSQLValues = strSQLValues & "'" & _
SQLFixup(strDescription) & "',"
End If
If strCaption <> "" Then
strSQL = strSQL & "FieldCaption,"
strSQLValues = strSQLValues & "'" & _
SQLFixup(strCaption) & "',"
End If
If strDefaultValue <> "" Then
strSQL = strSQL & "FieldDefaultValue,"
strSQLValues = strSQLValues & "'" & _
SQLFixup(strDefaultValue) & "',"
End If
If strValidationText <> "" Then
strSQL = strSQL & "FieldValidationText,"
strSQLValues = strSQLValues & "'" & _
SQLFixup(strValidationText) & "',"
End If
If strValidationRule <> "" Then
strSQL = strSQL & "FieldValidationRule,"
strSQLValues = strSQLValues & "'" & _
SQLFixup(strValidationRule) & "',"
End If
strSQL = strSQL & "FieldRequired,"
strSQLValues = strSQLValues & bolRequired & ","

strSQL = Left$(strSQL, Len(strSQL) - 1)
strSQLValues = Left$(strSQLValues, Len(strSQLValues) - 1)
strSQL = strSQL & ") VALUES (" & strSQLValues & ")"
myDB.Execute strSQL
Next
NextTable:
Next

myDB.Close
Set myDB = Nothing
MsgBox "Done!"
End Sub Public Function SQLFixup(TextIn As String) As String
SQLFixup = Replace(TextIn, "'", "''")
End Function
If you are working with a version that doesn't have the Replace
function, then you need one. Try this:

Public Function SQLFixup(TextIn As String) As String
SQLFixup = Replace(TextIn, "'", "''", Chr(160))
End Function

Public Function Replace(TextIn, FindText, ReplaceText, Optional
TempChar As String = "|") As String
' Modify calling routine to specify a different TempChar if a vertical
bar might exist in the data
' Consider using Chr(160) which is a nonbreaking space
' Don't use Chr(160) with html related documents
Dim TextIn2 As String, intPos As Integer, intLenText As Integer
TextIn2 = TextIn
intPos = InStr(1, TextIn2, FindText)
intLenText = Len(FindText)
' Replace all FindText with TempChar
Do While intPos > 0
Select Case intPos
Case intPos = 1
TextIn2 = TempChar & Mid(TextIn2, 2)
Case intPos = Len(TextIn2) + 1 - intLenText
TextIn2 = Mid(TextIn2, 1, Len(TextIn2) - intLenText) & TempChar
Case Else
TextIn2 = Mid(TextIn2, 1, intPos - 1) & TempChar & Mid(TextIn2,
intPos + 1)
End Select
intPos = InStr(1, TextIn2, FindText)
Loop
' Replace all TempChar with ReplaceText
intPos = InStr(1, TextIn2, TempChar)
Do While intPos > 0
Select Case intPos
Case intPos = 1
TextIn2 = TempChar & Mid(TextIn2, 2)
Case intPos = Len(TextIn2)
TextIn2 = Mid(TextIn2, 1, intPos - 1) & ReplaceText
Case Else
TextIn2 = Mid(TextIn2, 1, intPos - 1) & ReplaceText &
Mid(TextIn2, intPos + 1)
End Select
intPos = InStr(1, TextIn2, TempChar)
Loop
Replace = TextIn2
End Function

mike



On Thu, 15 Jul 2004 03:26:25 GMT, "Colleyville Alan"
<ae***********@nospam.comcast.net> wrote:
Basically looking for output to a table that would list the names of all
tables, the field names and types within them. Nothing fancy.
I have tried MDB Artisan and have something called "DataDict" (freeware from
http://www.cleandatasystems.com/), but these keep generating reports and I
do not want a bunch of printed stuff.
I'd like to have the stuff in a spreadsheet where I can see all of the
tables side-by-side and be able to track which fields in one table match
with fields in another table.


--
A Priest Gets Defrocked; Does A Carpenter Get Unframed?


Nov 13 '05 #5

P: n/a
rkc

"Chuck Grimsby" <c.*******@worldnet.att.net.invalid> wrote in message
news:m2********************************@4ax.com...
For Each TDF In myDB.TableDefs
Select Case True
Case TDF.name = TableName
GoTo NextTable
Case Left$(TDF.name, 4) = "Msys"
GoTo NextTable
Case Left$(TDF.name, 4) = "Usys"
GoTo NextTable
Case Left$(TDF.name, 1) = "~"
GoTo NextTable
End Select


That's the first time I have ever seen a Select Case statement using
Select Case True.

Interesting.


Nov 13 '05 #6

P: n/a
"Colleyville Alan" <ae***********@nospam.comcast.net> wrote in message news:<BPmJc.58521$WX.54450@attbi_s51>...
Basically looking for output to a table that would list the names of all
tables, the field names and types within them. Nothing fancy.


I probably got most of this from this NG. I have a form with a
combobox, a textbox and a command button that allows you to write the
structure of the selected table to a text file. It would be simple to
adapt it to writing to an Access table or to separate worksheets in an
Excel file. I could have used a directory picker to implement where
to save the file, but didn't. You should be able to adapt this code
to do all the tables at once. Perhaps you can post the code when you
get finished.

'----end code behind form----
Option Compare Database
Option Explicit

Private Sub cmdGo_Click()
Dim strFileName As String
Dim MyDB As Database
Dim tdfChosen As TableDef
Dim fldCurrent As Field
Dim prpLoop As Property
Dim lngI As Long
Dim strFieldName As String
Dim FieldType(23) As String
Dim intType As Integer
Dim intSize As Integer

'Note: tblTables has one field called TableName that is Text 50
'Form has cmdGo, cbxTable with no RecordSource and txtOutputFileName

If IsNull(cbxTable.Value) Or IsEmpty(cbxTable.Value) Then Exit Sub
If IsNull(txtOutputFileName.Value) Or IsEmpty(txtOutputFileName.Value)
Then Exit Sub
FieldType(1) = "Y/N "
FieldType(2) = "Byte "
FieldType(3) = "Integer "
FieldType(4) = "Long Integer"
FieldType(5) = "Currency "
FieldType(6) = "Single "
FieldType(7) = "Double "
FieldType(8) = "Date/Time "
FieldType(9) = "Binary "
FieldType(10) = "Text "
FieldType(11) = "Long Binary "
FieldType(12) = "Date/Time "
FieldType(13) = " "
FieldType(14) = " "
FieldType(15) = "GUID "
FieldType(16) = "Big Integer "
FieldType(17) = "Var Binary "
FieldType(18) = "Char "
FieldType(19) = "Numeric "
FieldType(20) = "Decimal "
FieldType(21) = "Float "
FieldType(22) = "Time "
FieldType(23) = "Time Stamp "

If InStr(1, CStr(txtOutputFileName.Value), ":") = 0 Then
txtOutputFileName.Value = "C:\" & txtOutputFileName.Value
End If
Set MyDB = CurrentDb
Set tdfChosen = MyDB.TableDefs(CStr(cbxTable.Value))
strFileName = txtOutputFileName.Value
Open strFileName For Output As #1
'Fill the output file with the field names and data types
For lngI = 0 To tdfChosen.Fields.Count - 1
Print #1, tdfChosen.Fields(lngI).Name;
strFieldName = tdfChosen.Fields(lngI).Name
intType = tdfChosen.Fields(lngI).Type
intSize = tdfChosen.Fields(lngI).Size
If Len(strFieldName) <= 15 Then
'Print #1, Space(15 - Len(strFieldName)), FieldType(intType)
Print #1, Space(15 - Len(strFieldName)), FieldType(intType), " ";
intSize; " "
Else
Print #1, "", FieldType(intType), " "; intSize; " "
End If
Next lngI
Close #1
Set tdfChosen = Nothing
Set MyDB = Nothing
MsgBox ("Done.")
End Sub

Private Sub Form_Load()
Dim MyDB As Database
Dim MyRS As Recordset
Dim CountRS As Recordset
Dim tdfNew As TableDef
Dim tdfLoop As TableDef
Dim lngCount As Long
Dim i As Integer
Dim strSQL As String

'Need to get all the tables for the combo box

Set MyDB = CurrentDb
strSQL = "SELECT * FROM tblTables;"
Set CountRS = MyDB.OpenRecordset(strSQL, dbOpenSnapshot)
lngCount = CountRS.RecordCount
CountRS.Close
Set CountRS = Nothing
DoEvents

If lngCount > 0 Then
'First delete the rows from tblTables
strSQL = "DELETE tblTables FROM tblTables"
DoCmd.SetWarnings False
DoCmd.Hourglass True
MyDB.Execute strSQL
DoCmd.Hourglass False
DoCmd.SetWarnings True
'Wait a few moments
Do While MyDB.RecordsAffected < 1
DoEvents
Loop
End If

'Now refill tblTables
Set MyRS = MyDB.OpenRecordset("tblTables", dbOpenDynaset)
lngCount = MyDB.TableDefs.Count
i = 1
For Each tdfLoop In MyDB.TableDefs
i = i + 1
If Left(tdfLoop.Name, 3) = "tbl" Then
MyRS.AddNew
MyRS("TableName") = tdfLoop.Name
MyRS.Update
End If
Next tdfLoop
Set MyDB = Nothing

'Then set the combobox Rowsource to tblTables
cbxTable.RowSource = "SELECT TableName FROM tblTables ORDER BY
TableName;"
End Sub
'----begin code behind form----

James A. Fortune
Nov 13 '05 #7

P: n/a
"Colleyville Alan" <ae***********@nospam.comcast.net> wrote in message news:<BPmJc.58521$WX.54450@attbi_s51>...
Basically looking for output to a table that would list the names of all
tables, the field names and types within them. Nothing fancy.
I have tried MDB Artisan and have something called "DataDict" (freeware from
http://www.cleandatasystems.com/), but these keep generating reports and I
do not want a bunch of printed stuff.

I'd like to have the stuff in a spreadsheet where I can see all of the
tables side-by-side and be able to track which fields in one table match
with fields in another table.

CA


Alan,
try Danny Lesandrini's code for this. It's for Access97 and 2000, but
you could modify it. His opens reports, but you could just as easily
output the whole thing to Excel. It writes to a table, so you could
just use TransferSpreadsheet or whatever to get the data there.

Danny's website is right here...
http://datafast.cjb.net/
Look for "DataFast Utility"
the app only costs US $25, so it's well worth the money. You can play
with it for free... (and see all the code.)
Nov 13 '05 #8

P: n/a
"Colleyville Alan" <ae***********@nospam.comcast.net> wrote in message news:<BPmJc.58521$WX.54450@attbi_s51>...
Basically looking for output to a table that would list the names of all
tables, the field names and types within them. Nothing fancy.
I have tried MDB Artisan and have something called "DataDict" (freeware from
http://www.cleandatasystems.com/), but these keep generating reports and I
do not want a bunch of printed stuff.

I'd like to have the stuff in a spreadsheet where I can see all of the
tables side-by-side and be able to track which fields in one table match
with fields in another table.

CA


Danny's code writes to a table "a_TableMetaData" in Access, so you
could just use OutputTo or whatever to transfer your data dictionaries
to Excel. There are other alternatives at www.mvps.org to transfer
the data to templates etc, but that should get you 90% of the way
there.
Nov 13 '05 #9

P: n/a
On Thu, 15 Jul 2004 20:29:47 GMT, mb**************@pacbell.net (Mike
Preston) wrote:
If you are working with a version that doesn't have the Replace
function, then you need one. Try this:

Public Function SQLFixup(TextIn As String) As String
SQLFixup = Replace(TextIn, "'", "''", Chr(160))
End Function

Oops. Posted old and seriously flawed version. Here's a better one.

Public Function Replace(TextIn, FindText, ReplaceText, Optional
TempChar As String = "|") As String
' Modify calling routine to specify a different TempChar if a vertical
bar exists in the data
' Consider using Chr(160) which is a nonbreaking space
''Stop
Dim TextIn2 As String, intPos As Integer
TextIn2 = TextIn

If Len(FindText) = 0 Then
' Don't do anything
Else
intPos = InStr(1, TextIn2, FindText)
' Replace all FindText with TempChar
Do While intPos > 0
TextIn2 = Mid(TextIn2, 1, intPos - 1) & TempChar & Mid(TextIn2,
intPos + 1)
intPos = InStr(1, TextIn2, FindText)
Loop
' Replace all TempChar with ReplaceText
intPos = InStr(1, TextIn2, TempChar)
TextIn2 = Mid(TextIn2, 1, intPos - 1) & ReplaceText & Mid(TextIn2,
intPos + 1)
intPos = InStr(1, TextIn2, TempChar)
Loop
End If
Replace = TextIn2
End Function

mike



On Thu, 15 Jul 2004 03:26:25 GMT, "Colleyville Alan"
<ae***********@nospam.comcast.net> wrote:
Basically looking for output to a table that would list the names of all
tables, the field names and types within them. Nothing fancy.
I have tried MDB Artisan and have something called "DataDict" (freeware from
http://www.cleandatasystems.com/), but these keep generating reports and I
do not want a bunch of printed stuff.
I'd like to have the stuff in a spreadsheet where I can see all of the
tables side-by-side and be able to track which fields in one table match
with fields in another table.


--
A Priest Gets Defrocked; Does A Carpenter Get Unframed?


Nov 13 '05 #10

P: n/a
Chuck Grimsby <c.*******@worldnet.att.net.invalid> wrote:
strValidataionRule = ""


strValidationRule = ""


<Grin> Luckily, spelling isn't a requirement for coding!


And A2000's default setting of not putting Option Explicit at the top of modules has
cost me a few hours once when I'd forgotten about it.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Nov 13 '05 #11

This discussion thread is closed

Replies have been disabled for this discussion.