5 Newbie Mistakes with Knack Apps
Updated: Sep 24, 2022
Questions about your Knack app? Let's Chat. https://www.knackbuilders.com. I do a lot of training for beginner Knack database users. Here are a few topics that I often see these folks having trouble with. Getting up to speed with these topics can eliminate a bunch of frustration early on in your building process.
Get a free Knack trial account here: https://www.knack.com/r/you-tube
If you are a fan of building great apps with Knack, please click the Subscribe button to join my channel, and ring the bell to receive notices on all my new instructional videos. Thanks!
Full Transcript
hey folks uh dave parish here with knack
builders doing
another uh
another topic for you guys if you could
make sure you subscribe to this channel
or like the video if you find some value
in it here's today's topic
five
newbie mistakes when dealing with max
i do a lot of training
uh for new folks
that are
they try they start trying to build and
they're just confused and hired me to
sort of get them over a hump and these
are some common things
that i see a lot
uh
that if you have them if you understand
them things are going to go a lot
smoother so i'll be back in a moment
to uh to go through those thanks
[Music]
okay let's jump into this
five newbie mistakes
um
first one
is when you have connected objects
what direction should those this is
probably the biggest one
um let me give you an example here
here's a simple this is one of their
template things but we have customers
and we have invoices
these are related to one another
one customer
can have many invoices that makes sense
the relationship is one-to-many
learn that you're going to use it a lot
or a parent child
the direction you want
this connection is you wanna you want it
to initiate in the invoices
so
if we go to invoices
the child record almost always should
have
the
the connection that means the field that
connects these together
um
resides in the child the invoice and an
easy way to think of it too is when
you're looking at
the
child record you want to be able to see
whose customer that is you could do this
in
the customer but it'd get
it get weird it actually works but you'd
have a
you'd have a the connection thing would
have um
a bunch of customers or a bunch of
invoices in it all grouped together in
one field it just it doesn't make sense
and if it was recited in customer
you wouldn't be able to see what
invoice
uh or what customer you just make sure
we have an invoice this is one of these
line items you can see who the customer
is um i think i have another video on
this on most of these topics have other
videos
uh let's see what the next one is
display field
this one display field
is right here if you go to
any object
you click next to its name
settings
display field
what this means
is
whatever you set you can set any of the
fields as the display field it is what
is going to show up
in the connected record i just had that
parent
or the the customer invoice thing
the customer's
name shows up in the child record for
the invoice that is what will be
displayed and depending on what order
you do this and that defaults to like
whatever this is called invoice name
uh select what you want and sometimes
too if you need more information like
you
you wanted to know i don't know the id
and the customer you wanted them
displayed in the same field you can make
a
text formula
that combines those two and you can set
that as as the
uh display field
now again i have another video on that
let's see what's next
parent versus child
this is meaning what data should reside
where and i'm going to give you this
example here's a big app but we have
literally parents and child we have
parents
and we have their children right here
and here's just i'm gonna this is
sort of a big topic but here's an
example
and i think even on this one we
initially
or when i was first given the data
uh
children had for example
their address we want to know the
child's address well
uh in this case the parents address is
the child's address
and there isn't really an exception to
that
so we don't need
um
a field in the child
for their address
because we're going to capture it
in the
in the parents
and
it will always be available for that
child
so when you're looking at your data and
again one-to-many's are a good thing any
data that's inherent to the parent and
it's always going to be that it may
change but it's still only related to
the parent
um
doesn't need to be in the
child record uh think through your data
and that takes a little while to get
used to before you recognize really
quickly here's where this needs to be
and here's where that needs to be
let's see what the next one is
logged in views
this is really powerful for knack uh
and this takes a little bit getting used
to too
uh here's an example
this is a logged in view this is when a
customer or someone logs in you only or
you only want to see their stuff it
could be
i don't know leads assigned to sales
people or
service requests re assigned to a
technician whatever
um
first of all here's this is already
built but here's an example
um let's just add one
and this that makes this easy but you
still gotta understand it let's add a
table
i want to add a table of services right
here is where it asks you don't just
don't flip through this all services
that will show everything service this
would be more for an admin side wants to
see all of them you want to select
services connected to the logged in
customer and if you have more
than one connection it's going to give
you multiple options sometimes those can
be confusing but think it through
and if you're having a problem of how
things are
displayed you're like ah this isn't
working right always do this this is the
first thing you got to do in that
or engage whatever you want to look at
the page element
go to source
and the top thing look at what it is
this table displays service records
connected to the logged in customer
if you did not do that it might just say
this table displays service records
so do that
and
let's see the last one here
two must-have fields i have a video on
that too
um
but this you don't always use it but
when you need it
you need it and i use it a lot but
let's go to
uh
okay let's go to this one um
children
date created
in every one of your objects put this in
there you're going to create a field
you're going to make its default current
date if you want time you can get time
um
you will know when that was created and
when you're troubleshooting it is
extremely helpful to know that and the
second thing you need is
a unique id
now in this case
we have
i think it's this number
every child has and the school's already
assigned a unique id number
uh
this comes and if you don't have
data that already has a unique id
set an auto increment that has an auto
increment field to just start to one two
three four for every record
um when you're troubleshooting this
helps you
uh
identify a record very quickly instead
of saying well the one on this date and
then their name is this and this isn't
that no you just say go to number five
two three right
um
and also when your
batch or when you're importing
and especially when you're match
importing you need that's
that's not complicated but you got to
know what you're doing but it's very
useful tool
and to use it you have to have a unique
id and
having a unique id from the get go is
best
so
um
that's what i got today i hope that was
somewhat useful um i probably could come
up with another list for another video
but those are the ones i thought for
this one thanks folks