How to fix table position

Suppressing floating is often not the best option. But it may be done, for example using the float package:

\usepackage{float}
...
\begin{figure}[H]
...

Often choosing further placement options would be sufficient, such as

\begin{figure}[!htbp]

Or set a barrier which may not be crossed by floats:

\usepackage{placeins}
...
\FloatBarrier
\begin{figure}[H]
...

To avoid discrepancies between phrases like "as shown in the above table" and the actual table position, one may either supress floating of tables or employ the varioref package for "intelligent" cross-referencing. Here's an example using varioref.

\documentclass{article}

\usepackage{varioref}

\begin{document}

\begin{table}
\centering
(Content of first table)
\caption{A table}
\label{tab:first}
\end{table}

\clearpage

For the first topic see the \vpageref[above table][table ]{tab:first}.

OR: For the first topic see table~\vref{tab:first}.

\begin{table}
\centering
(Content of second table)
\caption{Another table}
\label{tab:second}
\end{table}

For the second topic see the \vpageref[above table][table ]{tab:second}.

OR: For the first topic see table~\vref{tab:second}.

\end{document}