GoldMine
Documents & Files
General Items
Creating Counter Fields
GoldMine can track an
unlimited number of uniquely named counters. The counter values are
stored in the LOOKUP table. For example inserting ~COUNTER("ID",1) into
the lookup pick list for a field provides a unique number starting at 0
that increments by 1 each time it is selected by the user.
Extra User Variables
You are not restricted to
holding the four variables in the Personal tab in User Preferences
Create extra variables by
amending the username.ini file.
Create the variables under the [user_var] section
e.g.
[user_var]
Var1=www.prior-analytics.com
This can then be referenced in email merges and mail merges
Check DBASE Expression
Hold down the following
keys:
Ctrl
Shift
D
Command Switches
The /u: stands for the
username
The /p: stands for the users password
/s:goldsync /u:master /p:access
Sounds for incoming email
GoldMine needs to first
be set to auto-retrieve email.
Go to Edit > Preferences
> Internet tab > More Options > Accounts tab > Edit, then check
Auto-retrieve.
Set the time intervals
that GoldMine will check for incoming email. Go to Edit > Preferences >
Internet tab > More Options > Retrieval, then check Retrieve mail every
xx minutes.
To select a sound to be
played when new email has arrived, open the Control Panel in Windows
(95, 98, ME, NT, 2000, XP). Click on the Sounds or Sounds and Multimedia
icon. On the Sounds tab, scroll through the Sound Events and locate New
Mail Notification. Click Browse and select any .WAV file to play when
new mail comes into to GoldMine, or any other email client.
Remove Word Prompt for
Update File
Go into your Word
Options, and turn off Update links when loading program.
SQL Queries
Okay, I'll contribute one.
This SQL Query has been tested against MS SQL, GoldMine Premium running
on Vista Ultimate.
This SQL Query will pull all Contacts, Primary & Additional, along with
their E-mail Addresses if they have one. Further, it will order the
data by Company first, and then by Contact.
All Contacts, Primary & Additional
wrote: |
Select
contact1.company,
contact1.contact,
contact1.address1,
contact1.address2,
contact1.address3,
contact1.city,
contact1.state,
contact1.zip,
contact1.country,
ISNULL(csp.contsupref + '*','') as 'EmailAddr',
contact1.accountno
from contact1 inner join contact2 on contact2.accountno =
contact1.accountno
inner join contsupp csp on csp.accountno = contact1.accountno
and csp.rectype = 'P'
and csp.contact = 'E-Mail Address'
and SUBSTRING(csp.zip,2,1) = '1'
and (csp.linkacct is null or
len(csp.linkacct) = 0)
UNION
select c1.company,
csa.contact,
CASE
WHEN LEN(csa.address1) = 0 THEN c1.address1
ELSE csa.address1
END as Address1,
CASE
WHEN LEN(csa.address2) = 0 THEN c1.address2
ELSE csa.address2
END as Address2,
CASE
WHEN LEN(csa.address3) = 0 THEN c1.address3
ELSE csa.address3
END as Address3,
CASE
WHEN LEN(csa.city) = 0 THEN c1.city
ELSE csa.city
END as City,
CASE
WHEN LEN(csa.state) = 0 THEN c1.state
ELSE csa.state
END as State,
CASE
WHEN LEN(csa.zip) = 0 THEN c1.zip
ELSE csa.zip
END as Zip,
CASE
WHEN LEN(csa.country) = 0 THEN c1.country
ELSE csa.country
END as Country,
ISNULL(cse.contsupref,'') as 'EmailAddr',
c2.accountno
from contact1 c1
inner join contact2 c2 on c2.accountno = c1.accountno
inner join contsupp csa on csa.accountno = c2.accountno
and csa.rectype = 'C'
inner join contsupp cse on cse.accountno = c1.accountno
and cse.linkacct = csa.recid
and cse.accountno = csa.accountno
and cse.contact = 'E-Mail Address'
and cse.rectype = 'P'
and SUBSTRING(cse.zip,2,1) <> '1' |
Changing the name of a
column header in an SQL statement
select
contact,company,zip as Pcode from contact1
This will represent the column header Zip as PCode
Primary and Additional
contacts e-mail addresses
select
contact1.company,contact1.contact,
contsupp.address2 as EM_Contact,
contsupp.contsupref,
contsupp.zip from contsupp join contact1
on contact1.accountno=contsupp.accountno and
contsupp.contact = "E-mail Address"
order by contact1.company
Today's Completed
Activities for all users
select * FROM CONTHIST
WHERE DAY(ONDATE) = day(getdate()) AND MONTH(ondate) = MONTH(GETDATE())
AND YEAR(ONDATE)=YEAR(GETDATE())
Cleaning emails
addresses - Based on a missing @ symbol
select * from contsupp
where rectype='P' and contact='E-mail address' and not(contsupref like
'%@%')
Finding Duplicate
Company Records
select
company,contact,phone1,zip,key1,key2,key3,key4,key5 from contact1 where
company in (select company from contact1 group by company having
count(*) >1) order by company
Primary contacts and
the primary email address
select contact1.company,
contact1.contact, contact1.title,contact1.phone1,contsupp.contsupref
from contsupp,contact1 where contact1.Accountno = contsupp.accountno and
contsupp.contact="E-mail Address" and contsupp.zip like "_1%"
Primary and additional
contacts with their associate email addresses.
select
contact1.contact,contsupp.address2,contact1.company, contsupp.contsupref,
contact1.owner from contsupp join contact1 on contact1.accountno=
contsupp.accountno and contsupp.contact ='E-mail Address' order by
contact1.company
Primary and additional
contacts with their associate email addresses by mergecodes
select
contact1.contact,contsupp.address2,contact1.company,
contact1.mergecodes, contsupp.mergecodes as mer, contsupp.contsupref,
contact1.owner from contsupp join contact1 on contact1.accountno=
contsupp.accountno and contsupp.contact ='E-mail Address'
WHERE contact1.mergecodes like '%TWB%' and contsupp.mergecodes like
'%cmsa01%'
User defined fields
select count(*) from
contudef where dbfname ='CONTACT2' and field_name not like 'USERDEF%'
and field_name like 'U%'
Merge Codes of
Additional Contacts - Works only on SQL systems
Select cs.address2,
cs.contsupref, cs.mergecodes as Mailcode, cs2.mergecodes as emailcode
from contsupp as cs, contsupp as cs2 where cs.linkacct = cs2.recid and
cs.address2 is not null order by cs.address2
All E-mail Address and
Secondary Contact Names from CONTSUPP
SELECT address2,
contsupref FROM CONTSUPP WHERE contsupp.rectype = "P" and
contsupp.address2 <> ""
All Secondary Contacts
joined with Primary Address
SELECT Contact1.COMPANY,
ContSupp.CONTACT AS ContSupp_CONTACT, Contact1.ADDRESS1, Contact1.CITY,
Contact1.STATE, Contact1.ZIP
FROM Contact1 LEFT JOIN ContSupp ON Contact1.ACCOUNTNO =
ContSupp.ACCOUNTNO
WHERE (((ContSupp.RECTYPE)="C"));
Secondary Contacts
joined with Primary Address WHERE ContSupp Address1 is empty
SELECT Contact1.COMPANY,
ContSupp.CONTACT AS ContSupp_CONTACT, Contact1.ADDRESS1, Contact1.CITY,
Contact1.STATE, Contact1.ZIP
FROM Contact1 LEFT JOIN ContSupp ON Contact1.ACCOUNTNO =
ContSupp.ACCOUNTNO
WHERE (((ContSupp.RECTYPE)="C") AND ((ContSupp.ADDRESS1) Is Null));
Secondary Contacts
joined with Primary Address WHERE ContSupp Address1 is empty and
Contact1 Address1 is not empty
SELECT Contact1.COMPANY,
ContSupp.CONTACT AS ContSupp_CONTACT, Contact1.ADDRESS1, Contact1.CITY,
Contact1.STATE, Contact1.ZIP
FROM Contact1 LEFT JOIN ContSupp ON Contact1.ACCOUNTNO =
ContSupp.ACCOUNTNO
WHERE (((ContSupp.RECTYPE)="C") AND ((ContSupp.ADDRESS1) Is Null) AND
((Contact1.ADDRESS1) Is Not Null));
Secondary Contacts
joined with Primary Address WHERE ContSupp Address1 is empty and
Contact1 Address1 is not empty and MERECODE =
SELECT Contact1.COMPANY,
ContSupp.CONTACT AS ContSupp_CONTACT, Contact1.ADDRESS1, Contact1.CITY,
Contact1.STATE, Contact1.ZIP, ContSupp.MERGECODES
FROM Contact1 LEFT JOIN ContSupp ON Contact1.ACCOUNTNO =
ContSupp.ACCOUNTNO
WHERE (((Contact1.ADDRESS1) Is Not Null) AND ((ContSupp.RECTYPE)="C")
AND ((ContSupp.ADDRESS1) Is Null) AND ((ContSupp.MERGECODES)LIKE"%111"));
Secondary Contacts
joined with Primary Address WHERE ContSupp Address1 is empty and
Contact1 Address1 is not empty and MERECODES Displayed
SELECT Contact1.COMPANY,
ContSupp.CONTACT AS ContSupp_CONTACT, Contact1.ADDRESS1, Contact1.CITY,
Contact1.STATE, Contact1.ZIP, ContSupp.MERGECODES
FROM Contact1 LEFT JOIN ContSupp ON Contact1.ACCOUNTNO =
ContSupp.ACCOUNTNO
WHERE (((Contact1.ADDRESS1) Is Not Null) AND ((ContSupp.RECTYPE)="C")
AND ((ContSupp.ADDRESS1) Is Null));
All ContSupp Addresses
SELECT ContSupp.ACCOUNTNO,
ContSupp.CONTACT, ContSupp.RECTYPE, ContSupp.ADDRESS1, ContSupp.CITY,
ContSupp.STATE, ContSupp.ZIP, ContSupp.MERGECODES
FROM ContSupp
WHERE contsupp.rectype = "C"
Contact 1 Addresses
WHERE Contact 1 Address1 is not empty
SELECT Contact1.COMPANY,
Contact1.CONTACT, Contact1.ADDRESS1, Contact1.CITY, Contact1.STATE,
Contact1.ZIP
FROM Contact1
WHERE (((Contact1.ADDRESS1) Is Not Null))
ORDER BY Contact1.COMPANY;
Contact 1 Addresses
WHERE Contact 1 Address1 is not empty with Mergecodes
SELECT Contact1.COMPANY,
Contact1.CONTACT, Contact1.ADDRESS1, Contact1.CITY, Contact1.STATE,
Contact1.ZIP, Contact1.MERGECODES
FROM Contact1
WHERE (((Contact1.ADDRESS1) Is Not Null) AND
((Contact1.MERGECODES)LIKE"001"))
ORDER BY Contact1.COMPANY;
All Contact 1
Addresses
SELECT
Contact1.ACCOUNTNO, Contact1.COMPANY, Contact1.CONTACT,
Contact1.ADDRESS1, Contact1.CITY, Contact1.STATE, Contact1.ZIP,
Contact1.MERGECODES
FROM Contact1;
XJoin Queries
XJoinP-All Primary
Contact Info
SELECT Accountno,
Company, Contact, Lastname, Department, Title, Secr, Phone1, Phone2,
Phone3, Fax, Ext1, Ext2, Ext3, Ext4, Address1, Address2, Address3, City,
State, Zip, Country, Dear, Source, Key1, Key2, Key3, Key4, Key5,
Mergecodes
FROM Contact1
XJoinS
SELECT Accountno, Rectype,
Contsupref, Contact, Title, Dear, Phone, Ext, Fax, Address1, Address2,
Address3, City, State, Zip, Country, Mergecodes
FROM ContSupp
WHERE Rectype LIKE 'C' OR Rectype LIKE 'P'
XJoinSE
SELECT Accountno, Rectype,
Contsupref, Contact, Address2, Mergecodes
FROM ContSupp
WHERE rectype like 'P'
contact1
Contact1 is where the top half the GoldMine contact screen stores its
data. The 4 “quadrants” of the top half of the GoldMine contact screen
divide the data logically by:
-
Name and title
infomation
-
Contact via
information
-
Address
information
-
Key contact
information
Contact1 is also the primary contact table of the GoldMine database.
Contact history, details, calendar, additional contacts, referrals,
linked documents, opportunities and projects all relate back to a
contact1 record. The accountno column is the primary key that relates
contact1 to:
-
contact2 – user
defined fields
-
conthist – contact
history
-
cal – calendar
items
-
contsupp –
additional contacts, referrals, linked documents, email addresses,
websites
contact2
Contact2 holds all userdefined fields plus 15 GoldMine system fields
Row |
Field_name |
Dbfname |
1 |
ACCOUNTNO |
CONTACT2 |
2 |
ACTIONON |
CONTACT2 |
3 |
CALLBACKAT |
CONTACT2 |
4 |
CALLBACKON |
CONTACT2 |
5 |
CALLBKFREQ |
CONTACT2 |
6 |
CLOSEDATE |
CONTACT2 |
7 |
COMMENTS |
CONTACT2 |
8 |
LASTATMPAT |
CONTACT2 |
9 |
LASTATMPON |
CONTACT2 |
10 |
LASTCONTAT |
CONTACT2 |
11 |
LASTCONTON |
CONTACT2 |
12 |
MEETDATEON |
CONTACT2 |
13 |
MEETTIMEAT |
CONTACT2 |
14 |
NEXTACTION |
CONTACT2 |
15 |
PREVRESULT |
CONTACT2 |
conthist
Conthist holds all history records which are divided into the following
different types
rectype |
description |
A |
Appointment |
C |
Phone call |
D |
To-do |
E |
Event |
F |
Literature
fulfillment |
L |
Form |
M |
Sent message |
O |
Other |
S |
Sale |
T |
Next action |
U |
Unknown |
CC |
Call back |
CI |
Incoming call |
CM |
Returned
message |
CO |
Outgoing call |
MG |
E-mail message |
MI |
Received
e-mail |
MO |
Sent e-mail |
contsupp
I
have heard long time GoldMine solution partners refer to the contsupp
table as GoldMine’s kitchen sink. It
rectype |
Description |
E |
Automated
Process attached event |
H |
Extended
profile header |
L |
Linked
document |
O |
Organizational
chart |
P |
Profile
record/extended profile record |
R |
Referral
record |
The RECTYPE value H can be linked to records with the RECTYPE value P.
Assigning extended information settings to a profile (assigned to a tab,
or extended fields used) creates an H record type to store the settings.
The profile record stores a character string in the Phone field that
matches the H record’s AccountNo field.
|